fix: correct single-env release promotion and stale multistep e2e fixtures - #93
Merged
Merged
Conversation
…tures The e2e TestMultiStepScenarios suite had four failing subtests rooted in two distinct causes. Single Environment Happy Path failed because the promote step always dispatched the multi-env promote input (mode), but a single-environment repo generates a Release workflow whose dispatch input is release_action. The unrecognized mode was ignored, the workflow fell back to its create-draft default, and the run reported success without ever publishing the final release, so prod was never reconciled and the RC tags were never cleaned up. The runner now dispatches release_action: release for single-env repos. That workflow records its published pointer under ci.latest_release rather than a state[release] env, so the state sync now surfaces latest_release under the synthetic release key and the scenario asserts the single-env model (latest_release populated, trunk-tracking env retained) instead of the multi-env wipe semantics. Dispatch Inputs failed because the harness Config struct had no dispatch_inputs field, so the block was dropped when the scenario config was re-marshaled into the manifest and the generator never saw it. Added a passthrough field so operator-defined inputs reach the generator. Inline Run Callback and Inline Job Attributes asserted uses: build.yaml, but the harness localizes a bare reusable-workflow reference to the GHA-valid uses: ./build.yaml form before the assertion reads the file. Restored the ./-prefixed assertions to match the localized, valid output. Signed-off-by: Joshua Temple <joshua.temple@stablekernel.com>
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.
Fixes the
TestMultiStepScenariose2e failures that have been red onmain(and on the nightly) since before the recent doc PRs. All four failing subtests now pass underact+gitea. Two real bugs and two stale fixtures:release_action, but the harness runner always dispatchedmode. The unknown input was ignored, the workflow fell back to itscreate-draftdefault, and the run "succeeded" without publishing the release, reconciling prod, or cleaning up RC tags. The runner now dispatchesrelease_action: releasefor single-env repos and surfaces the workflow'sci.latest_releasepointer as a syntheticstate[release]so scenarios can assert it. Also corrects a latentallow_breakingtoallow_breaking_changeskey mismatch that left the breaking-change gate active when a scenario asked to bypass it.Confighad nodispatch_inputsfield, so the YAML round-trip silently dropped operator-facing inputs before the generator saw them. Added the passthrough field; all nine expected substrings now appear in the generatedorchestrate.yaml.09-inline-run-callbackand10-inline-job-attributesscenarios asserteduses: build.yaml, but the harness rewrites local reusable-workflow references to the GHA-validuses: ./build.yamlform before the assertion runs, so the bare form never matched. Restoreduses: ./build.yaml.Verification:
go build ./...and the e2e module build clean,go vetclean,go test ./internal/...green, harness unit tests green, and all four target subtests pass under the act-based suite.