Skip to content

ci: track inference + .github/e2e-track#166

Merged
MuncleUscles merged 1 commit intomainfrom
ci/track-inference
Apr 25, 2026
Merged

ci: track inference + .github/e2e-track#166
MuncleUscles merged 1 commit intomainfrom
ci/track-inference

Conversation

@MuncleUscles
Copy link
Copy Markdown
Member

@MuncleUscles MuncleUscles commented Apr 25, 2026

Updates the auto-gate to read the target track from .github/e2e-track on the PR's base branch, so PRs into different long-lived branches automatically use the right matrix.

This branch's main path:

  • updates e2e.yml to the latest template
  • adds .github/e2e-track = main so PRs into main auto-gate against v0.5 stable.

Companion: v2-dev gets its own e2e-track = v0.6-dev (separate update).

Required before merge: ci-core-e2e-runner#170 (the matrix system itself). Until that merges, the reusable-workflow uses: stays pinned at the feature branch.

Summary by CodeRabbit

  • Chores
    • Enhanced e2e testing workflow to support branch-specific configuration through a dedicated configuration file.
    • Improved track resolution logic with strict validation and intelligent fallback handling.
    • Expanded workflow summary output for better visibility into resolved track sources.

Updates e2e.yml to the latest template (auto-gate now infers track
from .github/e2e-track on the PR base branch). Adds the file with
'main' so PRs into main auto-gate against the v0.5 stable matrix.

The reusable-workflow uses: stays pinned at feat/version-matrix-phase1
until ci-core-e2e-runner#170 merges, then reverts to @main.
@MuncleUscles MuncleUscles merged commit ae89889 into main Apr 25, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 25, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a0460062-9010-41a1-9ee2-0726fe5b35d1

📥 Commits

Reviewing files that changed from the base of the PR and between 136558d and a2ec12f.

📒 Files selected for processing (2)
  • .github/e2e-track
  • .github/workflows/e2e.yml

📝 Walkthrough

Walkthrough

The changes implement a dynamic track resolution system for E2E workflows, introducing a new .github/e2e-track configuration file and enhancing workflow parsing logic to resolve track values through priority-based fallback—explicit comment override, branch configuration file, or main default—with validation against an allowlist.

Changes

Cohort / File(s) Summary
E2E Track Configuration
.github/e2e-track
New file specifying main as the tracked value for E2E workflow branch configuration.
E2E Workflow Parsing
.github/workflows/e2e.yml
Enhanced parse job to dynamically resolve track via priority order: explicit comment override, .github/e2e-track file fetch from base branch (via gh api), or main fallback. Added TRACK_PATTERN allowlist validation that fails the job on invalid track values. Consolidated output emission and expanded printed summary to include base_ref and track source metadata.

Sequence Diagram

sequenceDiagram
    participant GitHub as GitHub Workflow Event
    participant Parse as Parse Job
    participant Comment as Comment Check
    participant API as GitHub API<br/>(gh api)
    participant File as Base Branch<br/>.github/e2e-track
    participant Validate as Track Validation
    participant Output as Workflow Output

    GitHub->>Parse: Trigger with event data
    Parse->>Comment: Check if override<br/>in comment
    
    alt Comment Override Present
        Comment->>Validate: Use explicit track
    else No Comment Override
        Comment->>API: Fetch .github/e2e-track<br/>from base branch
        API->>File: Retrieve file
        File-->>API: Return track value
        alt File Exists & Readable
            API-->>Validate: Decoded track value
        else File Missing/Error
            Comment->>Validate: Use 'main' fallback<br/>+ warning
        end
    end
    
    Validate->>Validate: Test against<br/>TRACK_PATTERN allowlist
    
    alt Track Valid
        Validate->>Output: Emit resolved track
        Output->>GitHub: Job succeeds
    else Track Invalid
        Validate->>GitHub: Fail job
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 A track now dances through the branches fair,
With comments that whisper overrides in the air,
The .github/e2e-track file guards the way,
While validation ensures only the worthy stay,
Main waits patiently as our fallback friend! 🌿

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch ci/track-inference

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.

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.

1 participant