Merge pull request #1344 from fitzgen/cranelift-publish-script

Re-add Cranelift publish script
This commit is contained in:
Nick Fitzgerald
2020-03-17 12:59:57 -07:00
committed by GitHub
4 changed files with 52 additions and 3 deletions

View File

@@ -22,6 +22,6 @@ be executed to make the release:
1. Push the tag to the repository 1. Push the tag to the repository
* This will trigger the release CI which will create all release artifacts and * This will trigger the release CI which will create all release artifacts and
publish them to GitHub releases. publish them to GitHub releases.
1. Run `scripts/publish-all.sh` to publish all crates to crates.io 1. Run `scripts/publish-wasmtime.sh` to publish all crates to crates.io
And that's it, then you've done a Wasmtime release. And that's it, then you've done a Wasmtime release.

42
scripts/publish-cranelift.sh Executable file
View File

@@ -0,0 +1,42 @@
#!/bin/bash
set -euo pipefail
# This is a convenience script for maintainers publishing a new version of
# Cranelift to crates.io. To use, first bump the version number by running the
# `scripts/cranelift-version.sh` script, then run this script, and run the
# commands that it prints.
#
# Don't forget to push a git tag for this release!
topdir=$(dirname "$0")/..
cd "$topdir"
# Commands needed to publish.
#
# Note that libraries need to be published in topological order.
for crate in \
entity \
bforest \
codegen/shared \
codegen/meta \
codegen \
frontend \
native \
preopt \
reader \
wasm \
module \
faerie \
umbrella \
simplejit \
object
do
echo cargo publish --manifest-path "cranelift/$crate/Cargo.toml"
# Sleep for a few seconds to allow the server to update the index.
# https://internals.rust-lang.org/t/changes-to-how-crates-io-handles-index-updates/9608
echo sleep 10
done
echo git tag cranelift-v$(grep version cranelift/Cargo.toml | head -n 1 | cut -d '"' -f 2)

View File

@@ -2,12 +2,17 @@
set -euo pipefail set -euo pipefail
# This is a convenience script for maintainers publishing a new version of # This is a convenience script for maintainers publishing a new version of
# Wasmtime to crates.io. To use, bump the version number below, run the # Wasmtime to crates.io. To use, first bump the Wasmtime versions with
# script, and then run the commands that the script prints. # `scripts/bump-wasmtime-version.sh` and Cranelift versions with
# `scripts/bump-cranelift-version.sh`, then run this script, and run the
# commands that it prints.
topdir=$(dirname "$0")/.. topdir=$(dirname "$0")/..
cd "$topdir" cd "$topdir"
# Publishing Wasmtime requires publishing any local Cranelift changes.
./publish-cranelift.sh
# Commands needed to publish. # Commands needed to publish.
# #
# Note that libraries need to be published in topological order. # Note that libraries need to be published in topological order.
@@ -43,3 +48,5 @@ for cargo_toml in \
# https://internals.rust-lang.org/t/changes-to-how-crates-io-handles-index-updates/9608 # https://internals.rust-lang.org/t/changes-to-how-crates-io-handles-index-updates/9608
echo sleep 10 echo sleep 10
done done
echo echo git tag v$(grep "version =" Cargo.toml | head -n 1 | cut -d '"' -f 2)