-
Notifications
You must be signed in to change notification settings - Fork 213
Release Instructions
Ștefan Suciu edited this page Jun 2, 2018
·
3 revisions
Follow these steps to make a new release of Sqitch.
- Run
git clean -dfx
to remove all generated files. This is to preventdzil msg-scan
from scanning more than it needs to scan. - Run
dzil msg-scan
anddzil msg-merge
. This will update the translation libraries. Runprove -l
to make sure everything is fine, then add, commit, and push the changes. - Proof-read and edit Changes file.
- Run
prove -lr xt
to make sure things look ready for release. These tests catch things like Pod errors and missing documentation. Fix any issues they find. - Run
dzil test
to make sure the build and distributed tests will work properly. - Review changes and update
dist/sqitch.spec
with any new prereqs. Remove any dropped prereqs, too. - Timestamp
Changes
anddist/sqitch.spec
. ForChanges
, add the ISO-8601 timestamp in UTC to the version line. Fordist/sqitch.spec
, add an item to the%changelog
section. Add and commit (but don't push) the changes. - Run
dzil release
to release Sqitch. - Wait for CPAN to successfully index the release.
- Run
tag v0.9997 -am 'Tag v0.9997.
to tag the release. Be sure to use the proper version here! - Run
git push
andgit push --tags
to push the release commit and tag. - Increment all files, including
Changes
,README.md
, anddist/sqitch.spec
, to the next version. I use a simple script for this, though it doesn't updateChanges
. You'll need to add the new version header there with no timestamp. Add the changes, commit, and push. - Update all the Homebrew Formulas in the homebrew-sqitch project. You'll need to generate the SHA-256 hex hash for the just-released tarball, as well as for the
META.json
file as returned by the MetaCPAN API. IOW, download it fromhttps://fastapi.metacpan.org/v1/source/{author}/App-Sqitch-{version}/META.json
, where{author}
is your CPAN name and{version}
is the version just released. See this commit for a previous Homebrew formula update. Commit and push the change.