Skip to content

chore: refactor test workflows - #1453

Merged
joelmccoy merged 16 commits into
mainfrom
refactor-tests
Aug 13, 2026
Merged

joelmccoy merged 16 commits into
mainfrom
refactor-tests

Conversation

@joelmccoy

@joelmccoy joelmccoy commented Aug 7, 2026 •

Copy link
Copy Markdown
Member

Description

Refactors the test CI into a single shared workflow used by pull requests, releases, and nightly jobs. The previous setup distributed test execution across multiple workflow files, resulting in duplicated build, setup, and log collection steps. This pull request centralizes that logic, reduces the complexity of the workflow paths, and allows release and nightly runs to opt into the additional privileged checks they require.

This provides a simpler CI structure before we integrate the uds-cli-next work. Future test changes should be implemented in one reusable workflow rather than in several nearly identical files.

  • Consolidated CI test execution into one reusable workflow so PR, release, and nightly jobs follow the same path.
  • Replaced scattered per-suite workflows with smaller entrypoint workflows that only decide when tests run and which extra checks to
    include.
  • Moved common setup into shared actions so every test job builds, restores, and invokes the CLI the same way.
  • Kept privileged checks behind release/nightly flags so PRs stay focused while release paths still cover GHCR writes and UDS Core smoke.
  • Improved diagnostics so failed jobs upload useful command, cluster, Docker, and tool logs.
  • Simplified workflow layout to make the later uds-cli-next migration easier to reason about and maintain.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Other (security config, docs update, etc)

Checklist before merging

Comment thread tasks/tests.yaml Resolved
@joelmccoy
joelmccoy marked this pull request as ready for review August 13, 2026 14:49
@joelmccoy
joelmccoy requested a review from a team as a code owner August 13, 2026 14:49
Copilot AI lite review requested due to automatic review settings August 13, 2026 14:49
@greptile-apps

greptile-apps Bot commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR consolidates pull-request, release, and nightly testing into a canonical reusable workflow.

  • Adds shared setup and suite-aware diagnostic actions.
  • Replaces separate test workflows with lightweight PR and release entrypoints.
  • Gates GHCR write and UDS Core smoke checks to privileged release and nightly paths.
  • Updates affected test fixtures and task definitions for the unified execution path.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
.github/workflows/test.yaml Introduces the canonical reusable workflow containing standard test suites and optional privileged checks.
.github/workflows/test-release.yaml Adds the release-oriented wrapper that enables GHCR write and UDS Core smoke testing.
.github/workflows/test-pr.yaml Routes applicable pull requests into the canonical test workflow.
.github/actions/setup-uds-e2e/action.yaml Centralizes binary download, tool setup, and optional k3d cluster creation for E2E jobs.
.github/actions/save-logs/action.yaml Expands failure diagnostics and uploads suite-specific artifacts.
tasks/tests.yaml Corrects the vendor task structure so it remains callable by the consolidated workflow.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
  PR[Pull request] --> PRChecks[test-pr.yaml]
  Release[Release tag] --> ReleaseTests[test-release.yaml]
  Nightly[Nightly release] --> ReleaseTests
  PRChecks --> Canonical[test.yaml]
  ReleaseTests --> Canonical
  Canonical --> Standard[Lint, unit, docs, build, E2E]
  Canonical -->|release/nightly flags| Privileged[GHCR write and UDS Core smoke]
Loading

Reviews (2): Last reviewed commit: "fix: test" | Re-trigger Greptile

Comment thread .github/workflows/test.yaml Resolved

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR centralizes CI test execution into a single reusable GitHub Actions workflow, with smaller entrypoint workflows for PRs, releases, and nightly runs, and shared composite actions for consistent setup and diagnostics.

Changes:

  • Introduces a canonical reusable workflow (.github/workflows/test.yaml) that runs lint, unit tests, docs link checks, build, and E2E suites (with optional privileged checks for release/nightly).
  • Replaces legacy per-suite workflows with lightweight callers and removes duplicated β€œparallel tests” infrastructure.
  • Improves test diagnostics via updated save-logs and a new setup-uds-e2e composite action; updates a zarf E2E assertion and fixes a task definition shape.

Reviewed changes

Copilot reviewed 22 out of 22 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tasks/tests.yaml Fixes the vendor task to use the expected actions: structure.
src/test/e2e/zarf_test.go Relaxes zarf lint assertion to tolerate tag changes and considers stdout/stderr output.
.github/workflows/test.yaml Adds the new canonical reusable CI workflow covering lint/unit/docs/build/E2E and optional privileged checks.
.github/workflows/test-unit.yaml Removes legacy unit-test workflow in favor of the canonical workflow.
.github/workflows/test-shim.yaml Updates shim workflow job names to satisfy required checks without running full CI.
.github/workflows/test-schema.yaml Removes legacy schema/docs validation workflow in favor of the canonical workflow.
.github/workflows/test-release.yaml Adds release entrypoint workflow that calls the canonical workflow with privileged checks enabled.
.github/workflows/test-pr.yaml Refactors PR workflow to call the canonical reusable workflow.
.github/workflows/scan-lint.yaml Removes legacy lint workflow in favor of canonical lint job.
.github/workflows/release.yaml Switches release pipeline testing to use the new release test entrypoint workflow.
.github/workflows/release-tests.yaml Removes legacy release tests workflow superseded by canonical workflow + entrypoint.
.github/workflows/parallel-tests.yaml Removes legacy reusable workflow that duplicated build/setup/log steps across suites.
.github/workflows/nightly-uds-core.yaml Removes legacy nightly UDS Core smoke workflow (now routed via canonical/release entrypoint).
.github/workflows/nightly-release.yaml Updates nightly release workflow to use the new release test entrypoint and opts into zarf@main.
.github/workflows/nightly-integration-test.yaml Removes legacy nightly integration workflow superseded by canonical/release entrypoint.
.github/workflows/nightly-ghcr.yaml Removes legacy nightly GHCR write workflow superseded by canonical privileged checks.
.github/workflows/callable-lint.yaml Removes legacy callable lint workflow superseded by canonical lint job.
.github/actions/setup-uds-e2e/action.yaml Adds a composite action to download the built CLI artifact and prepare E2E jobs (including optional cluster creation).
.github/actions/setup-from-previous/action.yaml Removes legacy setup action superseded by setup-uds-e2e.
.github/actions/save-logs/action.yaml Reworks log collection to suite-aware diagnostics (command transcript + k8s/docker/k3d/tool logs) and uploads as artifacts.
.github/actions/mise/action.yaml Adds Go module/build cache support to speed up CI.
.github/actions/k3d/action.yaml Removes legacy k3d composite action (cluster management moved into setup-uds-e2e).

πŸ’‘ Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .github/workflows/test.yaml Resolved
Comment thread .github/workflows/test.yaml Resolved
Comment thread src/test/e2e/zarf_test.go Resolved

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

πŸ’‘ Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5996cb8c8c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with πŸ‘.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/test-shim.yaml Resolved
Comment thread .github/workflows/nightly-release.yaml Resolved
Comment thread .github/workflows/test.yaml Resolved
Comment thread .github/workflows/test.yaml Resolved
Comment thread .github/workflows/test.yaml Resolved
@joelmccoy

Copy link
Copy Markdown
Member Author

@greptileai review

Comment thread .github/workflows/test.yaml Resolved
Comment thread .github/workflows/test.yaml Resolved

@chance-coleman chance-coleman left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i dont have any additional comments, everything looks sane and passes CI. i think testing will evolve naturally, so happy with this as is.

@joelmccoy
joelmccoy merged commit 14caf95 into main Aug 13, 2026
35 checks passed
@joelmccoy
joelmccoy deleted the refactor-tests branch August 13, 2026 22:29
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.

3 participants