# Overall release steps:
#
# - update dependencies (cargo update, cargo upgrades)
-# - update our Nightly rust and do a test build, note in build.rst
+# - 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
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[@]}" )
#---------- 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
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
"