Skip to content
Mike Fikes edited this page Mar 24, 2024 · 53 revisions

Preparing for Release

First ensure that updated build cache is uploaded to planck-repl.org server.

  • Update version in planck-c/globals.h
  • Update date (and potentially copyright date) in planck-man/planck.1
  • Update CHANGELOG.md
  • Update README.md with any changes pertinent to the release (new fn links, etc.)

Releasing

  • Make pre-release & tag in GitHub

Homebrew

  • Do brew bump-formula-pr:

First, do brew update.

Then, in GitHub make a Personal Access Token with Workflow scope and set it

export HOMEBREW_GITHUB_API_TOKEN=xxxxx

Then run from arbitrary directory:

brew bump-formula-pr --url=https://github.com/planck-repl/planck/archive/refs/tags/2.28.0.tar.gz planck

If this results in a conflict like

<<<<<<< bump-planck-2.28.0
=======
  revision 3
>>>>>>> master

then remove the revision line. (The revision line is used when making changes that need to trigger a rebuild of the package without changing the software version.) Note that this cannot be done via a merge, but needs to be a force-push change.

Linux

Instructions in ubuntu-ppa repo.

cljdoc

  • Update the top-level project.clj with the release version number.
  • Check that the dependencies listed in project.clj are up-to-date.
  • Confirm that doc/cljdoc.edn is accuarate
  • In local tree, manually comment out the (:require ...) spec in the planck.bundle ns. (It has a foreign lib synthetic namespace that cannot be found by Codox in CljDoc.) See https://github.com/planck-repl/planck/issues/932 and https://github.com/cljdoc/cljdoc/issues/297
  • In the local tree, comment out (extend-protocol s/Specize ... in the planck.repl ns. (It uses fn-sym which is only in a newer version of ClojureScript than used by CljDoc when analyzing.) See https://github.com/cljdoc/cljdoc/issues/298
  • Since there is only one chance to get this right, it is worth testing using a local copy of cljdoc. See https://cljdoc.org/d/cljdoc/cljdoc/CURRENT/doc/running-cljdoc-locally
  • Note, there might be a Catch-22 here, where all of this needs to be sorted and corrected before actually doing the tagged release. (Or perhaps not, if sufficient info is in the JAR.)
  • lein deploy clojars
Clone this wiki locally