mirror of
https://github.com/jgm/pandoc.git
synced 2026-08-28 17:20:47 +08:00
4.5 KiB
4.5 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
- Update flake.lock.
- prerelease checks
- Update ./AUTHORS.md
- Run release candidate workflow on GitHub
- Run release candidate workflows manually on app.circleci.com
- If it builds successfully, download artifacts
- Use 'make' in macos artifact to sign code
- Install pandoc from package
- Update website
- Tag release in git:
- Upload packages to Hackage:
- make pandoc-templates
- Copy binary to server, install it
- Upload pandoc.wasm
- 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 Update flake.lock.
make flake.lock
TODO prerelease checks
make prerelease
TODO Update ./AUTHORS.md
make authors
TODO Run release candidate workflow on GitHub
windows, macos x86
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 app.circleci.com
linux arm64, linux amd64, macos arm64, wasm
brew install circleci-public/circleci/circleci@next
circleci auth login
circleci run trigger
TODO If it builds successfully, download artifacts
from GitHub: Windows and intel mac from circleci.com: linux amd64 and arm64 and arm64 mac and pandoc.wasm (rename as pandoc-VERSION.wasm)
TODO Use 'make' in macos artifact to sign code
TODO Install pandoc from package
So website will have the correct executable.
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 binary to server, install it
# example:
cd RELEASE_VERSION
tar xvzf pandoc-RELEASE_VERSION-linux-amd64.tar.gz
scp pandoc-RELEASE_VERSION/bin/pandoc website:cgi-bin/pandoc-server.cgi
TODO Upload pandoc.wasm
make pandoc.wasm
cd wasm
make upload
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 relann-RELEASE_VERSION
echo '```'
echo ''
make changes_github