chiark / gitweb /
changelog: document further make-release changes
[otter.git] / make-release
index 04dcedb7d27d915e99a781301e2221f9886c73c7..6b10ef80eb113bb91dba9534fbdcafb94169e6a9 100755 (executable)
@@ -5,6 +5,20 @@
 # eg
 #    ./make-release --dry-run main
 
+
+# Overall release steps:
+#
+#  - update dependencies (cargo update, cargo upgrades)
+#  - check `cargo audit`
+#  - edit CHANGELOG.md
+#  - update versions
+#  - ensure pretest == tested == main
+#  - make deploy and test that chiark still works
+#  - make-release --dry-run
+#  - make-release
+#  - release announcement to mailing list
+#  - blog post
+
 #---------- argument parsing and options ----------
 
 set -e
@@ -69,7 +83,7 @@ if [ "x$tag_exists" != x ]; then trouble "tag $tag already exists"; fi
 head -1 CHANGELOG.md | grep "^Version $version" \
 || trouble "CHANGELOG.md not updated"
 
-cargo_order='base . cli daemon wasm apitest wdriver'
+cargo_order='base support . cli daemon wasm apitest wdriver jstest'
 missing=(git ls-files :\*/Cargo.toml :Cargo.toml)
 for x in $cargo_order; do missing+=(:!$x/Cargo.toml); done
 missing=$( "${missing[@]}" )
@@ -90,7 +104,8 @@ $dryrun git push origin $branch
 
 #---------- non-idempotent things ----------
 
-$dryrun make -j12 publish
+$dryrun make -j12 PUBLISH_VERSION=$version publish
+$dryrun make -j12 PUBLISH_VERSION=$version publish-make-current
 
 $dryrun git tag -s -u "$keyid" -m "Otter v$version" $tag
 $dryrun git push chiark $tag
@@ -112,15 +127,14 @@ wait_for_crates_io () {
        if [ "x$got" != x ]; then break; fi
        delay=$(( $delay * 11 / 10 + 1 ))
     done
-    echo >&2 'done\n'
+    echo >&2 'done'
 }
 
 for cargo_dir in $cargo_order; do
     $dryrun_no_more_cargo \
-    nailing-cargo --no-nail --linkfarm=git --- \
+    nailing-cargo --no-nail --preclean-build=src --git --- \
         sh -xec "
-          find . ! -type l ! -type d ! -path './target/*' -print0 \
-              | xargs -0r rm --
+          unset http_proxy; unset https_proxy
           cd $cargo_dir; cargo publish $cargo_dryrun
         "