ci: gate merges and releases on Integration e2e#216
Merged
Conversation
Make Integration an always-run required gate so a red e2e cannot merge. - e2e.yaml: move path filtering to a job-level changes detector and add an always-run Integration Gate job so the required status context reports on every PR. It passes when E2E is correctly skipped on non-code changes and mirrors the heavy E2E result otherwise, avoiding the required-but-skipped deadlock. Change-detection failure fails the gate closed. - release.yaml: document that a tag cut from main is implicitly validated because Integration now gates merge, so the release path does not re-run the heavy suite. Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
4671801 to
d5801d1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Integration (act + gitea) e2e is informational only; main's required checks are
["PR Gate"]. A red e2e can merge and ship (this is the gap that let a red change in). Separately,release.yaml'spush: tags: ['v*']has not been auto-firing: every release this session needed a manualgh workflow run.Fix
on:triggers to a job-levelchangesdetector (dorny/paths-filter). A new always-runIntegration Gatejob reports the required status context: it passes when E2E is correctly skipped on non-code changes and mirrors the heavy E2E result otherwise. This avoids the required-but-skipped deadlock so the context can be made a required check.CASCADE_STATE_TOKEN) instead ofGITHUB_TOKEN. Tags created via the API withGITHUB_TOKENdo not emit a push event (GitHub's recursion guard), which is whyrelease.yamlnever auto-fired. The PAT-created tag fires Release, which chains to Fleet for rc tags.Verification
Integration Gatecontext will be added to branch protection after this PR merges, so this workflow-only PR is not blocked by a gate that does not yet exist on its base.