Skip to content

ci: turn the orphaned deploy job into a release-artifacts check - #463

Merged
tinder-maxwellelliott merged 1 commit into
masterfrom
maxwelle/release-artifacts-check
Aug 16, 2026
Merged

ci: turn the orphaned deploy job into a release-artifacts check#463
tinder-maxwellelliott merged 1 commit into
masterfrom
maxwelle/release-artifacts-check

Conversation

@tinder-maxwellelliott

Copy link
Copy Markdown
Collaborator

Summary

The deploy job in ci.yaml dates from #123, long before #319 moved releasing to the bazel-contrib release ruleset. Since then it has published nothing — no workflow downloads its bazel-diff_deploy.jar or release.tar.gz (zero download-artifact references in .github/), and release_prep.sh builds the real ones at tag time. This makes the job honest about being a per-PR build check.

  • Rename deployrelease-artifacts, with a comment on what actually owns publishing.
  • Drop id-token: write / attestations: write. Nothing in the job attests; leftovers from when it really was the deploy.
  • Pack the source archive with pack_release_archive.sh — the same script release_prep.sh and bcr_consumer.yaml use — instead of make release_source_archive. The Makefile copy had drifted (no __pycache__ / *.pyc excludes), so the job was verifying an archive releases never produce. make release_source_archive now delegates to the script, leaving one tar recipe.
  • Give the job an explicit name: so its status check is stable.

The multi-platform Rust matrix added in #462 stays as-is: it is what surfaced the Windows MAX_PATH failure that release.yaml would otherwise have hit at tag time.

⚠️ Requires a branch-protection update

master currently requires the status check deploy (11), which stopped existing the moment #462 gave that job an os matrix — GitHub derives implicit job names from every matrix value. That is why this PR adds an explicit name: adding a matrix key should never rename a required check.

After merge, replace deploy (11) with:

  • release-artifacts (ubuntu-latest)
  • release-artifacts (macos-latest)
  • release-artifacts (windows-latest)

Test plan

  • release-artifacts (ubuntu-latest) uploads bazel-diff_deploy.jar + release.tar.gz
  • All three legs still build //release:bazel-diff-rust and upload their asset
  • Archive from pack_release_archive.sh excludes __pycache__ / *.pyc (verified locally: 3,900 entries, no .github)
  • make release_source_archive works via the delegated script (verified locally)

🤖 Generated with Claude Code

The deploy job dates from #123, long before #319 moved releasing to the
bazel-contrib release ruleset. Since then it has published nothing: no workflow
downloads its JAR or release.tar.gz, and release_prep.sh builds the real ones
at tag time. Make it honest about being a per-PR build check instead.

- Rename to release-artifacts, with a comment on what owns publishing.
- Drop id-token/attestations write permissions. Nothing here attests.
- Pack the archive with pack_release_archive.sh, the same script release_prep.sh
  and bcr_consumer.yaml use, so the checked archive is the shipped recipe. The
  `make release_source_archive` it called had drifted -- no __pycache__/*.pyc
  excludes -- so this job was checking an archive releases never produce. That
  Makefile target now delegates to the script rather than repeating the tar.
- Give the job an explicit name so its status check is stable. Derived names
  are why branch protection still requires `deploy (11)`, which stopped
  existing when the job gained an os matrix; adding a matrix key should not
  rename a required check.

Branch protection still needs updating by hand: `deploy (11)` no longer exists
and the new checks are `release-artifacts (<os>)`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@tinder-maxwellelliott
tinder-maxwellelliott merged commit 8548572 into master Aug 16, 2026
44 of 45 checks passed
@tinder-maxwellelliott
tinder-maxwellelliott deleted the maxwelle/release-artifacts-check branch August 16, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant