mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-29 01:41:20 +08:00
3.9 KiB
3.9 KiB
- pandoc RELEASE_VERSION release checklist
- Check priority-high tag
- Release any prerelease packages in ./cabal.project
- ./pandoc.cabal - bump version number
- ./pandoc-cli/pandoc-cli.cabal - bump version, sync pandoc version
- ./pandoc-lua-engine/pandoc-lua-engine.cabal - bump version?
- ./pandoc-server/pandoc-server.cabal - bump version?
- Update ./MANUAL.txt date and rebuild man pages
- Finalize ./changelog.md
- prerelease checks
- Update ./AUTHORS.md
- Run release candidate workflow on GitHub
- Run release candidate workflows manually on cirrus-ci.com
- If it builds successfully, download artifacts from GitHub, cirrus-ci.com
- Use 'make' in macos and windows artifacts to sign code
- Update website
- Tag release in git:
- Upload packages to Hackage:
- make pandoc-templates
- Copy deb to server, install it
- create release announcement and add to GH release announcement
- Add release on GitHub
- Announce on pandoc-announce
pandoc RELEASE_VERSION release checklist
TODO Check priority-high tag
TODO Release any prerelease packages in ./cabal.project
TODO ./pandoc.cabal - bump version number
TODO ./pandoc-cli/pandoc-cli.cabal - bump version, sync pandoc version
git log $(git describe --tags --abbrev=0)..HEAD --oneline pandoc-cli
TODO ./pandoc-lua-engine/pandoc-lua-engine.cabal - bump version?
git log $(git describe --tags --abbrev=0)..HEAD --oneline pandoc-lua-engine
TODO ./pandoc-server/pandoc-server.cabal - bump version?
git log $(git describe --tags --abbrev=0)..HEAD --oneline pandoc-server
TODO Update ./MANUAL.txt date and rebuild man pages
NEWDATE=$(date -I)
sed -i '' -e "/^---$/,/^---$/s/^date:.*$/date: $NEWDATE/" MANUAL.txt
make man
TODO Finalize ./changelog.md
git log $(git describe --tags --abbrev=0)..HEAD --mailmap --reverse --format=format:' * %s%n %aN%n%w(78,4,4)%b' | sed -e '/^ *John MacFarlane$/d' | sed -e 's/ *$//'
TODO prerelease checks
make prerelease
TODO Update ./AUTHORS.md
make authors
TODO Run release candidate workflow on GitHub
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $ghtoken"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/jgm/pandoc/actions/workflows/release-candidate.yml/dispatches \
-d '{"ref":"main"}'
TODO Run release candidate workflows manually on cirrus-ci.com
TODO If it builds successfully, download artifacts from GitHub, cirrus-ci.com
(Windows and intel mac from GitHub, linux amd64 and arm64 and m1 mac from cirrus)
TODO Use 'make' in macos and windows artifacts to sign code
TODO Update website
make update-website
TODO Tag release in git:
- use X.Y for pandoc
- pandoc-cli-X.Y
- if needed: pandoc-server-X.Y
- if needed: pandoc-lua-engine-X.Y
TODO Upload packages to Hackage:
echo pandoc
echo pandoc-cli
for package in pandoc-lua-engine pandoc-server; do
lines=$(git log $(git describe --tags --abbrev=0)..HEAD --oneline $package | wc -l)
if ! [ $lines -eq 0 ]; then
echo $package;
fi
done
- pandoc
- pandoc-cli
and if changed:
- pandoc-server
- pandoc-lua-engine
TODO make pandoc-templates
make pandoc-templates
pushd ~/src/pandoc-templates
git tag RELEASE_VERSION
git push
git push --tags
popd
TODO Copy deb to server, install it
TODO create release announcement and add to GH release announcement
"I'm pleased to announce the release of pandoc RELEASE_VERSION,
available in the usual places:
Binary packages & changelog:
https://github.com/jgm/pandoc/releases/tag/RELEASE_VERSION
Source & API documentation:
http://hackage.haskell.org/package/pandoc-RELEASE_VERSION
Description of release.
Any API changes.
Thanks to all who contributed, especially new contributors ...
"
TODO Add release on GitHub
echo '```'
cat $announcement
echo '```'
echo ''
make changes_github