Skip to content

ci: add CI and E2E workflows for release-1.4#86

Merged
kdacosta0 merged 1 commit into
release-1.4from
ci/add-workflows-release-1.4
Jul 22, 2026
Merged

ci: add CI and E2E workflows for release-1.4#86
kdacosta0 merged 1 commit into
release-1.4from
ci/add-workflows-release-1.4

Conversation

@kdacosta0

@kdacosta0 kdacosta0 commented Jul 14, 2026

Copy link
Copy Markdown
Member

Summary

Backport ci.yml (lint + unit tests) and e2e.yml (full E2E) from main so that PRs targeting release branches get CI coverage. Without these, PRs merged with no checks (as seen with PR #84).

Changes from main:

  • ci.yml: golangci-lint pinned to v1.64.8 (release branches use v1 config format)
  • e2e.yml: OPERATOR_REF defaults to release-1.4
  • .golangci.yml: disable errname, intrange, perfsprint (not enabled on main v2 config) and exclude gosec G115 (pre-existing in codebase)

Test plan

  • CI workflow self-triggers on this PR
  • Lint passes with v1 config
  • Unit tests pass

🤖 Generated with Claude Code

@qodo-for-securesign

Copy link
Copy Markdown

Qodo is busy working

Check back in a few minutes. Qodo's code review agents are on it.

Grey Divider

@kdacosta0
kdacosta0 force-pushed the ci/add-workflows-release-1.4 branch from 1efaac0 to 2afddc7 Compare July 14, 2026 13:41
@qodo-for-securesign

Copy link
Copy Markdown

PR Summary by Qodo

ci: enable lint/unit CI and E2E workflows on release-1.4

⚙️ Configuration changes 🧪 Tests 🕐 10-20 Minutes

Grey Divider

AI Description

• Add GitHub Actions CI for release branches (lint + unit tests) on PRs and pushes.
• Add GitHub Actions E2E workflow that provisions Kind and runs Playwright-based E2E.
• Pin golangci-lint to v1.55.2 to match the v1 config format on release-1.4.
Diagram

graph TD
  T["PR/Push to main or release*"] --> CI["CI workflow"] --> LU["Lint + unit jobs"]
  T --> E2E["E2E workflow"] --> BD["Build & deploy (Kind)"] --> RT["Run Playwright E2E"] --> UA["Upload artifacts"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Use reusable workflows (workflow_call) hosted in main (or a shared repo)
  • ➕ Avoids drift between main and release branch CI definitions
  • ➕ Centralizes updates (e.g., action versions, steps) in one place
  • ➖ Harder to safely pin behavior per release branch (e.g., golangci-lint v1 config compatibility)
  • ➖ Couples release branch CI to main/shared workflow availability and changes
2. Factor repeated E2E setup into composite actions
  • ➕ Reduces workflow YAML size and duplication
  • ➕ Improves reusability across branches and repos
  • ➖ Adds maintenance surface area for custom actions
  • ➖ Still requires workflow wiring and branch-specific defaults

Recommendation: For a release branch, backporting and pinning the workflows (as done here) is the most reliable approach because GitHub runs workflows from the checked-out ref and release branches often need stricter version pinning (e.g., golangci-lint v1.55.2). Consider reusable workflows or composite actions only if you expect frequent CI changes across branches and can enforce stable versioned workflow references.

Files changed (2) +192 / -0

Other (2) +192 / -0
ci.ymlAdd lint + unit-test CI workflow for main and release branches +44/-0

Add lint + unit-test CI workflow for main and release branches

• Introduces a GitHub Actions CI workflow triggered on PRs and pushes to main and release* branches. Runs golangci-lint (pinned to v1.55.2) and executes Go build plus pkg unit tests.

.github/workflows/ci.yml

e2e.ymlAdd full E2E workflow with Kind deployment and Playwright tests +148/-0

Add full E2E workflow with Kind deployment and Playwright tests

• Adds an E2E workflow for PRs/pushes and manual dispatch, defaulting OPERATOR_REF to release-1.4. Checks out the operator repo and E2E tests, provisions a Kind cluster, deploys the operator and SecureSign, runs Playwright-backed Go E2E tests, and uploads artifacts (with log dump on failure).

.github/workflows/e2e.yml

Backport ci.yml and e2e.yml from main so that PRs targeting release
branches get CI coverage. Without these, PRs merged with no checks.

Changes from main:
- ci.yml: golangci-lint pinned to v1.64.8 (v1 config format on this branch)
- e2e.yml: OPERATOR_REF defaults to release-1.4
- .golangci.yml: disable errname (not used on main v2 config either)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@kdacosta0
kdacosta0 force-pushed the ci/add-workflows-release-1.4 branch from 2afddc7 to 94a1969 Compare July 14, 2026 13:43
@kdacosta0
kdacosta0 merged commit eaaf916 into release-1.4 Jul 22, 2026
6 checks passed
@kdacosta0
kdacosta0 deleted the ci/add-workflows-release-1.4 branch July 22, 2026 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants