Skip to content

ci: release the distributions CI built, and pin every action by commit - #65

Merged
mahdi-shafiei merged 1 commit into
mainfrom
ci/publish-ci-artifact
Oct 28, 2026
Merged

mahdi-shafiei merged 1 commit into
mainfrom
ci/publish-ci-artifact

Conversation

@mahdi-shafiei

Copy link
Copy Markdown
Contributor

publish.yml now runs CI on the commit it releases and publishes the distributions CI's gates built, not a second build of its own.

  • validate calls ci.yml, which gains workflow_call, so the gates, the Orbax-floor checkpoint tests and the derived-status check all pass before anything publishes.
  • publish-testpypi and publish-pypi download python-package-distributions, the artifact the gates' Build job uploads after twine check and the import check. publish.yml's own build job is gone.
  • A target=github-release run must be started from its tag (gh workflow run publish.yml --ref vX.Y.Z ...). CI builds the run's ref, so the release-tag step refuses a run from any other ref. RELEASING.md step 8 gives the command.
  • softprops/action-gh-release (v3.0.3), pypa/gh-action-pypi-publish (v1.14.2), download-artifact (v8.0.2) and the macOS checkout are pinned by commit. The pin test moves to test_ci_entry.py and now reads every workflow and composite action.

Trusted publishing is unchanged: the upload jobs are still in publish.yml and still use the pypi and testpypi environments.

Checked locally: tests/ci (145 passed, red first with 9 failures and then the tag-ref test), pre-commit run --all-files, and actionlint 1.7.12 with shellcheck 0.11.0 (a planted SC2086 control failed as expected).

Not exercised: an actual publish run. The first release after this merges is the end-to-end check.

publish.yml calls ci.yml on the commit it releases, so the gates, the
Orbax-floor checkpoint tests and the derived-status check all pass first,
and each index receives the gates' artifact python-package-distributions
instead of a second build. ci.yml gains workflow_call for this.

A target=github-release run must start from its tag, since CI builds the
run's ref; the release-tag step refuses any other ref. RELEASING.md gives
the gh command.

softprops/action-gh-release, pypa/gh-action-pypi-publish,
download-artifact and the macOS checkout are pinned by commit. The pin
test moves to test_ci_entry.py and covers every workflow and composite
action.
@mahdi-shafiei
mahdi-shafiei marked this pull request as ready for review October 28, 2026 23:19
@mahdi-shafiei
mahdi-shafiei merged commit e08a04e into main Oct 28, 2026
12 checks passed
@mahdi-shafiei
mahdi-shafiei deleted the ci/publish-ci-artifact branch October 28, 2026 23:19
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