Role release-preparer: phases 0 to 3 of a release by an agent
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 18/100
Research direction
Start from release.jl and add a facts subcommand that prints the phase 0 inputs (status, main and baseline breakage, open PRs, tags, changelog since the reference, REL7, REL4), then test it. The role file roles/release-preparer.md in ct-agents and recipes/release.md are the other places the design touches, and the work depends on the agent base and CTActions#128. Done means the facts subcommand is tested and the role file encodes the recipe's stop conditions, which needs maintainer design input first.
Written by the indexing model from the issue text.
Description
Part of the epic on releases without a local agent. Depends on the agent base (queue, agent.yml) and uses the finish workflow of control-toolbox/CTActions#128 for what comes after the human's validation.
Goal
The role release-preparer: phases 0 to 3 of the release recipe, run by an agent in GitHub Actions, up to a proposal validated by a person.
Proposal
- Facts by script, judgment by the agent. A subcommand of
release.jl(for examplerelease.jl facts) prints what phase 0 reads:status, the state ofmainand of the baseline breakage, the open PRs, the tags and registry versions, the changelog since the reference,REL7,REL4. The agent does not compute them. - The agent decides whether the changes are breaking, groups the entries of
[Unreleased]asCHG2asks, writes theBREAKING.mdentry or the non-breaking note, and writes the proposal. The version itself comes from the gate (REL1–REL3): the agent proposes the one the gate expects, and a mismatch stops the run. - Checked afterwards: the local gate, then the gate and the breakage report in the PR. The human validates the proposal (label or
/release approve X.Y.Z), which starts the finish workflow. - Output: the tracking issue with the proposal as first comment, and the release PR prepared (draft until validated, or opened only after validation: to decide).
Tasks
-
release.jl facts(or equivalent), tested. -
roles/release-preparer.mdin ct-agents, with the stop conditions of the recipe. - Wire the human validation to the finish workflow (CTActions#128).
- Update
recipes/release.md: the autonomous mode starts from a dispatch, the local agent stays as a fallback. - Try on a beta of one package, then on a stable.
- Dominant language
- Julia
- Stars
- 1
- Forks
- 0
- Avg merge
- 1h 39m
- Merged PRs (30d)
- 45
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from control-toolbox/CTActions
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
control-toolbox/CTActions#139 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
control-toolbox/CTActions#133 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
control-toolbox/CTActions#132 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 12/100
control-toolbox/CTActions#130 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 8/100
control-toolbox/CTActions#129 · 1 comment ·
Maintainers usually reply within 1 day
All issues in control-toolbox/CTActions
Similar issues
-
Add project: Typst_jll.jlPossibly taken @github-actions claimed this today. Openadd-project
Difficulty 1/5 Under an hour Newbie friendliness 76/100
YDX-2147483647/best-of-typst#590 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100