Role release-preparer: phases 0 to 3 of a release by an agent

Aperta
#131 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
18/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
github-actions, julia
Ambito
ci-cd, devops

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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 example release.jl facts) prints what phase 0 reads: status, the state of main and 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] as CHG2 asks, writes the BREAKING.md entry 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.md in 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.
Lingua principale
Julia
Stelle
1
Fork
0
Merge medio
3h 6m
PR unite (30g)
45

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di control-toolbox/CTActions

Tutte le issue di control-toolbox/CTActions

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.