Repository navigation
ci(release): run the release status and vendor-update reads from util/ scripts (#1967) - #2070
Conversation
|
GOOD TO GO at
|
|
Coverage: 91.52% (unit tier, Python 3.15,
Per-file detail: the |
|
Ready to merge at |
3a7d57d to
722cee4
Compare
|
Rebased onto |
…/ scripts (#1967) Step 2 of #1967, second batch for create-release.yml: the last two inline shell steps move into stdlib-only scripts, with each step's env:, if:, needs:, outputs and timeout-minutes unchanged. * util/release_status.py: "Report why this run did or did not release anything" in release_status. * util/release_vendor_update.py: "Read whether its vendor-update job ran" in vendor_update. * Both jobs gain contents: read and a checkout of util/ alone at github.sha, without credentials, ahead of the script step. * workflows.rst lists both scripts. tests/project/test_release_status_scripts_1967.py runs each former shell, kept verbatim, and its script on the same cases, and requires the same status, output, $GITHUB_OUTPUT, step summary and gh calls; the case tables reach every branch of each shell. The tests that ran or pinned the shell now run or read the scripts, and find the steps by name.
|
Rebased onto |
722cee4 to
0b5f60d
Compare
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
ci— changes to CI configuration files and scriptsDescription of your pull request and other information
The second create-release batch for #1967, per option (a) on #1967. It covers the last two inline steps.
util/release_status.py: replaces Report why this run did or did not release anything inrelease_status.util/release_vendor_update.py: replaces Read whether its vendor-update job ran invendor_update.contents: read(vendor_updatekeepsactions: read).github.sha, usingsparse-checkout: utilandpersist-credentials: false. fix(ci): Create Release tags main's tip at approval time, not the commit it was created for #1634 requires theref:.run:bodies leaves the workflow identical.test_release_status_scripts_1967embedsmain's two shell bodies verbatim and runs each underbash -eside by side with its script, against a stand-ingh. It requires the same status, stdout, stderr (minus bash'sline N:prefix), outputs, summary and calls.release_status: 47 cases reach every exit of the old shell, plus 150 random draws.vendor_update: 23 cases reach all of its exits.vendor_updatestayed green withupdatedunset, andrelease_statusstill printed. Downstream, nothing changes forvendor_update.