Repository navigation
Move the deploy pipeline's multi-line steps into tested scripts - #3896
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3896 +/- ##
===========================================
+ Coverage 45.25% 87.58% +42.33%
===========================================
Files 183 198 +15
Lines 11085 12223 +1138
Branches 1907 2161 +254
===========================================
+ Hits 5016 10706 +5690
+ Misses 5647 921 -4726
- Partials 422 596 +174 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
anth-volk
force-pushed
the
ci-scripts-deploy
branch
from
October 13, 2026 16:56
0ff411d to
39301db
Compare
anth-volk
removed this pull request from stack #3888
October 13, 2026 19:26
anth-volk
added this pull request to stack #3917
October 13, 2026 19:26
anth-volk
force-pushed
the
ci-scripts-deploy
branch
from
October 14, 2026 13:52
39301db to
da6acf0
Compare
anth-volk
force-pushed
the
ci-scripts-deploy
branch
2 times, most recently
from
October 14, 2026 16:59
87f7783 to
c139fb6
Compare
anth-volk
force-pushed
the
ci-scripts-deploy
branch
4 times, most recently
from
October 14, 2026 21:13
151b2fb to
9ef5bb6
Compare
anth-volk
force-pushed
the
ci-scripts-deploy
branch
from
October 14, 2026 21:53
9ef5bb6 to
4a23876
Compare
Seven run: blocks in the deploy pipeline become single-line steps: - build_changelog.sh: towncrier build for the pyproject version. - run_release_tests.sh: make test without the deployment settings (the same env -u list). - compute_cloud_run_metadata.sh <prefix>: image_tag and revision_tag outputs for staging (stg) and production (stage3-prod). - restore_cloud_run_revision.sh <readiness-url>: roll back, then check health, for staging and production. - The release Redis install splits apt-get update into its own step. Every if:, env: and output name is unchanged. New tests run each script with fake commands; existing workflow-text assertions now check the scripts instead, with the same intent and ordering. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The multi-line baseline is empty, so the rule moves from ratcheted to enforced: every workflow run: step is now a single line of code. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
anth-volk
force-pushed
the
ci-scripts-deploy
branch
from
October 14, 2026 22:06
4a23876 to
0fe9228
Compare
anth-volk
marked this pull request as ready for review
October 14, 2026 22:29
This branch was successfully deployed
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 #3894
Summary
Phase 1 step 1.7, part 2: the production deploy pipeline (
push.yml). Stacked on the part 1 PR.The seven remaining multi-line
run:blocks become single-line steps:build_changelog.shpyproject.tomlversion; fails clearly if the version is missingrun_release_tests.shmake testwith the sameenv -ulist of deployment settings removedcompute_cloud_run_metadata.sh <prefix>image_tag/revision_tagoutputs (stg,stage3-prod)restore_cloud_run_revision.sh <readiness-url>apt-get updatenow has its own stepEvery
if:,env:and output name is unchanged. The multi-line baseline is now empty, soapi.ci.multiline-run-is-scriptmoves to enforced. Every workflowrun:step in this repository is now a single line of code.Updated existing tests: they asserted the old inline text, and keep the same intent and ordering:
test_cloud_run_deploy_scripts.py: the release-test-ulist and the "stage3-prod" tag.test_alembic_workflows.py:uv lockruns before the changelog build, and release tests run before deploy.test_app_engine_decommission.py: release tests run before deploy.Testing
tests/unit/test_deploy_pipeline_scripts.py: 13 tests using faketowncrier,makeand helper scripts. They assert exact arguments, outputs and exit codes, including failure paths.pytest tests/unit): 2,316 passed.python scripts/run_quality_guards.py: all three guards pass.guard --base-ref ci-scripts-exceptionspasses.ruff format/ruff checkand shellcheck are clean.🤖 Generated with Claude Code