Repository navigation
feat(examples): ✨ add a publish workflow for AWS CodeArtifact - #27
Merged
Merged
Conversation
2 of 4 tasks
Member
Author
|
🤖 AI text below 🤖 New commit 0dd0df2: the CodeArtifact upload now uses
#28 and #29 are rebased on it; #29 also updates the skill's description of the upload. |
robertodr
force-pushed
the
feat/codeartifact-stub
branch
from
November 3, 2026 15:59
0dd0df2 to
f5c14b6
Compare
Same structure as the PyPI example; the upload assumes an IAM role with OIDC and runs twine. The domain, account, region, repository and roles are organisation variables, set once. Assisted-by: Pi:claude-opus-5-5
…he distributions uv publish replaces pipx run twine. The job hands uv the index as a configuration file (--index), so uv reads it with the same credentials and skips the files already uploaded: a failed run can be re-run, with no change to the repository's pyproject.toml. (--check-url alone reads the index without credentials, so it can't see a private index.) The distributions get GitHub build provenance; PEP 740 attestations are left out, since CodeArtifact has no Trusted Publishing. Assisted-by: Pi:claude-opus-5-5
robertodr
force-pushed
the
feat/codeartifact-stub
branch
from
November 4, 2026 08:44
f5c14b6 to
6dcba50
Compare
robertodr
added a commit
that referenced
this pull request
Nov 4, 2026
…tions (#28) 🤖 _AI text below_ 🤖 Stacked on #27 (`feat/codeartifact-stub`); review only its own two commits. Rebase onto `main` once the PRs below it are merged. ## Summary Per-repository setup for repositories that released by hand before: the baseline is the newest final `vX.Y.Z` tag (`v0.0.0` only without one), with what to do about a dangling pre-release tag or an untagged published version; the releases before the baseline go into `CHANGELOG.md`, generated with git-cliff from a worktree at the baseline tag (pinned by a new test in `tests/test_cliff.py`). A new caveat: workflows on `release:` events stop running once releases are published with `GITHUB_TOKEN`. The default branch must be `main`. docs/central-vs-local.md now agrees with the baseline rule. ## Checklist - [ ] Bug fix for the current release: add the `backport` label (or ask a maintainer to) - [x] `just lint` and `just test` pass - [x] docs/adopting.md, docs/organisation-setup.md, and docs/repository-setup.md updated if the stubs, inputs or setup changed - [ ] Breaking change or deprecation: the Migration section says what consumers must change
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.
🤖 AI text below 🤖
Stacked on #26 (
test/leak-checks); review only the last commit. GitHub retargets this PR tomainonce that one is merged; then rebase it ontomain.Summary
A publish workflow for packages on the organisation's private index on AWS CodeArtifact:
examples/stubs/deploy-codeartifact.yml, shown in docs/adopting.md. Same structure as the PyPI example; the upload job attests the files with GitHub build provenance, assumes an IAM role with GitHub's OIDC token and runsuv publish. uv gets the index as a configuration file (--index), so it reads it with the same credentials and skips files already uploaded: a failed run can be re-run, and no repository'spyproject.tomlchanges. PEP 740 attestations are left out (--no-attestations): CodeArtifact has no Trusted Publishing to verify them against. The domain, account, region, repository and roles are organisation variables (CODEARTIFACT_*, new step 5 of the one-time organisation setup), so nothing is configured per repository.Checklist
backportlabel (or ask a maintainer to)just lintandjust testpass