mirror of
https://github.com/jgm/pandoc.git
synced 2026-09-03 06:05:45 +00:00
143 lines
4.5 KiB
Org Mode
143 lines
4.5 KiB
Org Mode
#+STARTUP: content
|
|
#+PROPERTY: :header-args: :results verbatim
|
|
** pandoc RELEASE_VERSION release checklist
|
|
*** TODO Check [[https://github.com/jgm/pandoc/issues?q=state%3Aopen%20label%3A%22priority%3Ahigh%22%20][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
|
|
#+begin_src sh
|
|
git log $(git describe --tags --abbrev=0)..HEAD --oneline pandoc-cli
|
|
#+end_src
|
|
*** TODO [[./pandoc-lua-engine/pandoc-lua-engine.cabal]] - bump version?
|
|
#+begin_src sh
|
|
git log $(git describe --tags --abbrev=0)..HEAD --oneline pandoc-lua-engine
|
|
#+end_src
|
|
*** TODO [[./pandoc-server/pandoc-server.cabal]] - bump version?
|
|
#+begin_src sh
|
|
git log $(git describe --tags --abbrev=0)..HEAD --oneline pandoc-server
|
|
#+end_src
|
|
*** TODO Update [[./MANUAL.txt]] date and rebuild man pages
|
|
#+begin_src sh :results silent
|
|
NEWDATE=$(date -I)
|
|
sed -i '' -e "/^---$/,/^---$/s/^date:.*$/date: $NEWDATE/" MANUAL.txt
|
|
make man
|
|
#+end_src
|
|
*** TODO Finalize [[./changelog.md]]
|
|
#+begin_src sh :results output file :file LOG.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/ *$//'
|
|
#+end_src
|
|
*** TODO Update flake.lock.
|
|
#+begin_src sh
|
|
make flake.lock
|
|
#+end_src
|
|
*** TODO prerelease checks
|
|
#+begin_src sh :results output verbatim
|
|
make prerelease
|
|
#+end_src
|
|
*** TODO Update [[./AUTHORS.md]]
|
|
#+begin_src sh :results output list org
|
|
make authors
|
|
#+end_src
|
|
*** TODO Run [[https://github.com/jgm/pandoc/actions/workflows/release-candidate.yml][release candidate workflow]] on GitHub
|
|
windows, macos x86
|
|
#+begin_src sh :var ghtoken=(jgm-authinfo-get "api.github.com" "jgm_pandoc_release")
|
|
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"}'
|
|
#+end_src
|
|
*** TODO Run [[https://cirrus-ci.com][release candidate workflows]] manually on app.circleci.com
|
|
linux arm64, linux amd64, macos arm64, wasm
|
|
#+begin_src sh
|
|
brew install circleci-public/circleci/circleci@next
|
|
circleci auth login
|
|
circleci run trigger
|
|
#+end_src
|
|
*** 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
|
|
#+begin_src sh
|
|
make update-website
|
|
#+end_src
|
|
*** 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:
|
|
#+NAME: changed-packages
|
|
#+begin_src sh :results silent
|
|
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
|
|
#+end_src
|
|
|
|
- pandoc
|
|
- pandoc-cli
|
|
and if changed:
|
|
- pandoc-server
|
|
- pandoc-lua-engine
|
|
*** TODO make pandoc-templates
|
|
#+begin_src sh
|
|
make pandoc-templates
|
|
pushd ~/src/pandoc-templates
|
|
git tag RELEASE_VERSION
|
|
git push
|
|
git push --tags
|
|
popd
|
|
#+end_src
|
|
*** TODO Copy binary to server, install it
|
|
#+begin_src
|
|
# 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
|
|
#+end_src
|
|
|
|
*** TODO Upload pandoc.wasm
|
|
#+begin_src sh
|
|
make pandoc.wasm
|
|
cd wasm
|
|
make upload
|
|
#+end_src
|
|
*** TODO create release announcement and add to GH release announcement
|
|
#+NAME: relann
|
|
#+begin_src elisp :results value file :file relann-RELEASE_VERSION
|
|
"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 ...
|
|
"
|
|
#+end_src
|
|
*** TODO Add [[https://github.com/jgm/pandoc/releases/][release on GitHub]]
|
|
#+begin_src sh :var announcement=relann :results output literal
|
|
echo '```'
|
|
cat relann-RELEASE_VERSION
|
|
echo '```'
|
|
echo ''
|
|
make changes_github
|
|
#+end_src
|
|
*** TODO Announce on [[mailto:pandoc-announce@googlegroups.com][pandoc-announce]]
|