Skip to content

ci: cut releases with shipmill from the CHANGELOG - #17

Merged
shipmill-romamo[bot] merged 3 commits into
mainfrom
ci/shipmill-releases
Oct 8, 2026
Merged

shipmill-romamo[bot] merged 3 commits into
mainfrom
ci/shipmill-releases

Conversation

@romamo

@romamo romamo commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

Moves releases from hand-pushed v* tags to shipmill lanes, the same policy as romamo/treaty.

  • Lanes: rc after 30 quiet minutes following merges (next 0.6.0rc1); stable promoted from an rc soaked 3 days once milestone 0.6.0 closes; hotfix by hand. Each publishes to PyPI and makes a GitHub release
  • Starts in mode = "dry-run"; switch to release after the first dry run reads right
  • ci.yml is callable with a ref; release.yml (tag-triggered publish) becomes publish.yml on workflow_dispatch with a tag, rerunning CI on the tag and smoke-testing the wheel and the sdist before upload
  • CHANGELOG release headings use - before the date (shipmill's parser rejected —)
  • The sdist leaves out .github, uv.lock, evaluations/, site/ and build output
  • [agents]: the gate runs headless as shipmill-romamo[bot], triage and PRs, no merges

Before the first release: PyPI's trusted publisher for cloudfall names release.yml; change it to publish.yml (environment pypi) at https://pypi.org/manage/project/cloudfall/settings/publishing/

shipmill doctor: all PASS. actionlint: clean.

🤖 Generated with Claude Code

romamo and others added 3 commits October 8, 2026 12:16
Releases move from hand-pushed tags to shipmill's lanes: rc after each batch
of merges, stable promoted from an rc soaked 3 days once its milestone closes,
hotfix by hand. The policy starts in dry-run.

- ci.yml runs on workflow_call with a ref, so a release checks its own commit
- release.yml (tag-triggered PyPI publish) becomes publish.yml, started by
  shipmill with a tag input; it reruns CI on the tag, builds, checks the
  bundle and the sdist, and smoke-tests both artifacts before uploading
- release.yml is now shipmill's caller workflow
- release headings use ' - ' before the date, the form shipmill parses
- the sdist excludes .github, uv.lock, evaluations, site and build output
- [agents] runs the gate headless as shipmill-romamo[bot], triage only

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Name the triage skill with the plugin's prefix, so a same-named skill in
~/.claude/skills can't answer in its place.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@shipmill-romamo
shipmill-romamo Bot force-pushed the ci/shipmill-releases branch from 835fee2 to a0cad98 Compare October 8, 2026 09:16
@shipmill-romamo
shipmill-romamo Bot merged commit 925da22 into main Oct 8, 2026
1 check passed
@shipmill-romamo
shipmill-romamo Bot deleted the ci/shipmill-releases branch October 8, 2026 09:19
@shipmill-romamo shipmill-romamo Bot added this to the 0.6.0 milestone Oct 8, 2026
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