Repository navigation
A publish workflow for tack-core, and CI that installs it alone - #367
Merged
Merged
Conversation
The workflow publishes tack-core to PyPI on a release tag, after the pypi environment's approval, with trusted publishing; run by hand it uploads to TestPyPI, the dry run. It checks the tag is the version, builds the wheel and the sdist, twine-checks both and installs tack-core alone from each. CI's wheel job does the same checks on every pull request (tools/check_core_install.py). RELEASING.md has the setup and the steps. tack.dataset without tack-vis names the command that installs it from the repository at this release's tag. Split from Kitware#366, whose docs and backend messages (pip install tack-core) wait for the release.
berkgeveci
added a commit
to berkgeveci/tack-fork
that referenced
this pull request
Nov 5, 2026
berkgeveci
added a commit
to berkgeveci/tack-fork
that referenced
this pull request
Nov 5, 2026
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.
For #306: the part of #366 that can merge now, so that the publish workflow is on
mainand the TestPyPI dry run can run. Nothing here changes what users are told to install. #366 keeps the docs and the backend messages that saypip install tack-core, for the release..github/workflows/publish.yml:v*tag: checks that the tag matchestack-core's version, builds the wheel and the sdist, runstwine check --strict, installstack-corealone from each and runs a kernel. Then it uploads to PyPI with trusted publishing, after thepypienvironment's approval.tack-core's sdist too, runstwine checkon it, and installstack-corealone from the wheel and from the sdist (tools/check_core_install.py).tack.datasetwithouttack-vis: the error names the command that installstack-visfrom the repository, at this release's tag.RELEASING.md: the one-time setup (trusted publishers, GitHub environments) and a release's steps.The trusted publishers on PyPI and TestPyPI are set up (owner
Kitware, repositorytack, workflowpublish.yml, environmentspypiandtestpypi).After this merges: run Publish by hand on
main. It uploadstack-core0.6.0 to TestPyPI, which tests the whole chain (OIDC, the trusted publisher, the build) before 0.7.Tested locally: the wheel and the sdist build and pass
twine check --strict;tack-corealone from each runs a kernel and gives thetack-vishint;actionlintpasses.🤖 Generated with Claude Code