Repository navigation
refactor(ra): replace the command jobs with act and snapshot jobs that emit one JSON outcome - #489
Merged
hdamker merged 1 commit intoOct 23, 2026
Conversation
…t emit one JSON outcome
hdamker
merged commit Oct 23, 2026
d6318ff
into
camaraproject:release-automation-refactor
8 checks passed
7 of 9 tasks
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.
What type of PR is this?
What this PR does / why we need it:
Replaces the six command jobs with two:
snapshot(/create-snapshot, which needs the validation toolchain) andact(everything else, dispatched byrelease_automation/scripts/act.py). The workflow now has four jobs (plan,snapshot,act,finalize), three job conditions, and 583 lines (was 1,324).planhas one JSONplanoutput (decision plus the release references and base context the later jobs read),action,finalizeandresult_comment_id. The compatibility outputs are gone.command_policy.pydecides the action: the slash command,create-draftorpublish-on-merge(bypublish_mode) on a Release PR merge,reopen-issueon a close insnapshot-active/draft-ready.snapshotandacteach write one JSONoutcome(the old output names);finalizereads it fromtoJSON(needs).publish_mode: on_merge,finalizepostsrelease_published(orpublish_failed) as a new comment on the Release Issue, then opens the sync PR and closes the issue as after/publish-release. All policy values are stilldraft.Behaviour differences:
planned/published, and any reopen, no longer starts a job that does nothing;finalizesyncs the issue directly.release-plan.yamlno longer tries to create a draft with an empty tag.actfails when its action fails (discard, delete, publish used to end green withsuccess=false);finalizestill posts the failure comment.make_latestfor anon_mergepublic release is set in a separate call, as for drafts.Which issue(s) this PR fixes:
Part of #476
Special notes for reviewers:
Targets
release-automation-refactor. The canary coversplan→snapshot→finalizeandactfor/discard-snapshotandreopen-issue; draft creation,/delete-draftand/publish-releaseare covered by the manual end-to-end test after merge.technical-architecture.md§3.3 is rewritten in a later PR.Changelog input
Additional documentation