Repository navigation
chore: refactor test workflows - #1453
Conversation
Greptile SummaryThe PR consolidates pull-request, release, and nightly testing into a canonical reusable workflow.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains. Important Files Changed
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]
Reviews (2): Last reviewed commit: "fix: test" | Re-trigger Greptile |
There was a problem hiding this comment.
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-logsand a newsetup-uds-e2ecomposite 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.
There was a problem hiding this comment.
π‘ 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".
|
@greptileai review |
chance-coleman
left a comment
There was a problem hiding this comment.
i dont have any additional comments, everything looks sane and passes CI. i think testing will evolve naturally, so happy with this as is.
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-nextwork. Future test changes should be implemented in one reusable workflow rather than in several nearly identical files.include.
uds-cli-nextmigration easier to reason about and maintain.Type of change
Checklist before merging