Skip to content

feat(ci): add e2e-artifacts check aggregator job - #588

Merged
Astro-Han merged 2 commits into
devfrom
slock/ci-aggregator-checks
May 12, 2026
Merged

feat(ci): add e2e-artifacts check aggregator job#588
Astro-Han merged 2 commits into
devfrom
slock/ci-aggregator-checks

Conversation

@Astro-Han

@Astro-Han Astro-Han commented May 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add check aggregator job to e2e-artifacts.yml workflow
  • Pattern follows existing desktop-smoke.yml check aggregator structure
  • Aggregates changes + e2e-artifacts jobs with docs-only bypass logic

Why

Phase 1 of CI aggregator check rollout (task #61 GPT-X design):

  • Currently e2e-artifacts leaf job is required in dev ruleset
  • This aggregator provides a stable required check name for branch protection
  • Phase 2 will switch ruleset to require e2e-artifacts / check instead of leaf job

This PR is 100% additive:

  • Does NOT modify dev ruleset (high risk, deferred to Phase 2)
  • Does NOT add new required checks (deferred to Phase 2)
  • Does NOT delete existing leaf required checks (deferred to Phase 2)

If the aggregator fails, it only adds a failing check that is not yet required, so it will NOT block any PR merge.

Related Issue

Refs task #61 GPT-X design (CI aggregator check rollout)

Human Review Status

Pending. Lead review required (product layer + workflow semantics).

Review Focus

  • .github/workflows/e2e-artifacts.yml: check job pattern matches desktop-smoke.yml
  • docs-only bypass logic correctness
  • additive-only scope (no ruleset changes)

Verification

  • git diff --check clean
  • YAML structure matches existing aggregator pattern

Checklist

  • I have read the Contributing Guidelines
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • I have verified that my changes follow the project's design patterns
  • I have run bun typecheck and it passes (CI workflow change, typecheck not applicable)
  • I have run bun lint and it passes (workflow YAML, lint not applicable)
  • I have verified that my changes do not introduce new dependencies
  • I have verified that my changes do not break existing functionality
  • I have run git diff --check and it passes
  • I have verified that my commits follow the Conventional Commits specification
  • I have verified that my PR title follows the Conventional Commits specification

Summary by CodeRabbit

  • Chores
    • CI pipeline strengthened with an additional validation step that blocks merges when end-to-end artifact validation fails, while still skipping when a change is docs-only.
  • Tests
    • End-to-end workflow tests updated to cover the new validation behavior and associated conditional logic.

Review Change Stack

@Astro-Han Astro-Han added ci Continuous integration / GitHub Actions P2 Medium priority tech-debt Supplemental cleanup, maintainability, architecture, test, or quality debt context labels May 12, 2026
@gemini-code-assist

Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@coderabbitai

coderabbitai Bot commented May 12, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 762a4c31-0eb0-4c8d-ac8d-176cc9b1cc91

📥 Commits

Reviewing files that changed from the base of the PR and between ea858f4 and 6a349df.

📒 Files selected for processing (1)
  • packages/opencode/test/config/e2e-artifacts-workflow.test.ts

📝 Walkthrough

Walkthrough

A new check job is introduced to the e2e-artifacts workflow that aggregates job dependencies, propagates the docs_only condition from the changes job, validates the e2e-artifacts result, and provides an early exit for documentation-only changes while enforcing artifact check success otherwise.

Changes

E2E Artifacts Check Job

Layer / File(s) Summary
Workflow: add check job and comments
.github/workflows/e2e-artifacts.yml
Adds a check job with if: always() that needs changes and e2e-artifacts, exposes DOCS_ONLY and E2E_RESULT from needs, exits when docs-only, fails when E2E_RESULT != "success", and echoes the final result.
Tests: assert check job and validation step
packages/opencode/test/config/e2e-artifacts-workflow.test.ts
Parses parsed.jobs.check, asserts three jobs exist (changes, check, e2e-artifacts), verifies check runs unconditionally and needs both jobs, checks env wiring from needs, and validates the run-script conditionals for docs-only and result checking.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • Astro-Han/pawwork#345: Modifies the same workflow and earlier added changes job wiring that this check job builds upon.
  • Astro-Han/pawwork#200: Related changes touching the e2e-artifacts workflow and required check configuration.

Suggested labels

enhancement, github_actions

Poem

🐰 A check job arrives to guard the gate,
It listens to docs and artifacts' fate,
Docs skip by with a gentle cheer,
Artifacts must pass to keep the gate clear,
The rabbit hops on — CI is near.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat(ci): add e2e-artifacts check aggregator job' clearly and specifically describes the main change: adding a check aggregator job to the e2e-artifacts workflow.
Description check ✅ Passed The PR description includes most required sections with substantial detail: Summary, Why, Related Issue, Human Review Status, Review Focus, and Verification are all present and well-documented. However, the Checklist section has been replaced with a custom version, and Screenshots/Recordings section is omitted (appropriately for non-UI changes).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch slock/ci-aggregator-checks

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions 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.

Suggested priority: P3 (only low-risk paths changed (.github/workflows/e2e-artifacts.yml)).

P1/P0 are reserved for maintainer confirmation. Please relabel manually if this is a release blocker, security issue, data-loss risk, or updater/runtime failure.

@github-actions github-actions Bot added the harness Model harness, prompts, tool descriptions, and session mechanics label May 12, 2026
@Astro-Han
Astro-Han merged commit ebe68d9 into dev May 12, 2026
25 checks passed
@Astro-Han
Astro-Han deleted the slock/ci-aggregator-checks branch August 21, 2026 00:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Continuous integration / GitHub Actions harness Model harness, prompts, tool descriptions, and session mechanics P2 Medium priority tech-debt Supplemental cleanup, maintainability, architecture, test, or quality debt context

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant