Skip to content

Notes on making releases

R. Matthew Emerson edited this page Jan 26, 2019 · 5 revisions

Tagging a release

Use an annotated tag when tagging a release. Do this from the command-line with, e.g., tag -a v1.12-dev.0 -m "version 1.12-dev.0". This will make git describe output look nicer. The GitHub interface appears to create lightweight tags.

Upload a release asset with curl

Look up the release via, e.g., https://api.github.com/repos/Clozure/ccl/releases/tags/v1.11. Find the "upload_url" from the returned JSON, and use it as as follows (where $asset is the file to be uploaded);

curl -v -X POST "https://uploads.github.com/repos/Clozure/ccl/releases/6037385/assets?name=$asset" \
  --data-binary @$asset -H "Content-Type: $(file -b --mime-type $asset)" --user xrme

Mac App Store

Prepare for a new release as normal. As an additional step, you have to update the function fake-cfbundle-path in the file ide-bundle.lisp. Bump the value of bundle-version as needed.

Start up Lisp, do (push :mac-app-store *features*) and then (require 'cocoa-application). When that's done, run scripts/make-store-app. This requires there to be the appropriate certificates from Apple in your local keychain. This will produce a file named ccl.pkg.

Sign in to to App Store Connect and add a new version. Then use the Application Loader application to upload the ccl.pkg file.