a1a6fe63d71beee929430851f7a73a269abb154b
[clnl] / bin / release.sh
1 #!/bin/bash
2
3 # The release process:
4 #  * Change version number in clnl.asd
5 #  * Change where the README.md points to releases
6 #  * Run bin/generatedocs.sh to update wiki
7 #  * Create linux release using bin/buildlinuxexech.sh on a linux machine
8 #  * Make a release commit and push up, most likely a rebase of all the commits to make the previous steps work correctly
9 #  * Run this script to create the source tarball
10 #  * Create tag, use v<MAJOR>.<MINOR>.<PATCH> as the versioning scheme
11 #  * Upload the tar.gz as an extra file
12 #  * Set the tag in ChangeLog milestones, update docs
13
14 version=$(sbcl --noinform --disable-ldb --lose-on-corruption --end-runtime-options --eval '(format t "~A" (asdf:component-version (asdf:find-system :clnl)))' --eval "(quit)")
15
16 echo -n "Building version $version, hit enter to continue"
17 read
18
19 mkdir -p clnl_$version/src/main
20 cp -ap src/main/* clnl_$version/src/main
21 cp -ap *.asd clnl_$version/
22 tar zcf clnl_${version}.tar.gz clnl_$version/
23 rm -rf clnl_$version
24
25 echo "All done, it's in clnl_${version}.tar.gz, you should tag it and release it"
26 echo "You should also build on Linux using the various release scripts and push those up too."