Skip to content
Mike Fikes edited this page May 21, 2019 · 53 revisions

Preparing for Release

  • 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
  • Update Homebrew formula version & hash in Formula/planck.rb
    • curl -L https://github.com/planck-repl/planck/archive/2.xx.0.tar.gz > file.dat
    • shasum -a 256 file.dat
    • Just change the url and sha256 near the top
    • Commit name is planck 2.x.0 and so is PR name
  • Submit PR

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