This commit deletes the old C implementation of the original `wasi_unstable` module, instead only leaving around our single `wasmtime-wasi` crate as the implementation for both `wasi_snapshot_preview1` and `wasi_unstable`. This hasn't been discussed (AFAIK) up until now, so this is also a proposal! Some thoughts in favor of this deletion I would have are: * This has been off-by-default for ages * We don't build or test any of this on CI * Published binaries with `wasmtime` do not have this possibility enabled * Future refactorings to the `wasmtime-wasi` crate will either need to work around how the C implementation is different or bring it up to speed. This is motivated by the last bullet point where I was working on getting `wasmtime-wasi` working purely as an implementation detail on top of the `wasmtime` crate itself, but quickly ran into a case where the CLI would need to multiplex all sorts of wasi implementations. In any case I'm curious what others think, is this too soon? Is there something remaining blocking this? (etc)
72 lines
2.3 KiB
Bash
Executable File
72 lines
2.3 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# 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
|
|
# script, and then run the commands that the script prints.
|
|
|
|
topdir=$(dirname "$0")/..
|
|
cd "$topdir"
|
|
|
|
# All the wasmtime-* crates have the same version number
|
|
version="0.9.0"
|
|
|
|
# Update the version numbers of the crates to $version.
|
|
echo "Updating crate versions to $version"
|
|
find -name Cargo.toml \
|
|
-not -path ./crates/wasi-common/WASI/tools/witx/Cargo.toml \
|
|
-exec sed -i.bk -e "s/^version = \"[[:digit:]].*/version = \"$version\"/" {} \;
|
|
|
|
# Update the required version numbers of path dependencies.
|
|
find -name Cargo.toml \
|
|
-not -path ./crates/wasi-common/wig/WASI/tools/witx/Cargo.toml \
|
|
-exec sed -i.bk \
|
|
-e "/\> *= *{.*\<path *= *\"/s/version = \"[^\"]*\"/version = \"$version\"/" \
|
|
{} \;
|
|
|
|
# Update our local Cargo.lock (not checked in).
|
|
cargo update
|
|
scripts/test-all.sh
|
|
|
|
# Commands needed to publish.
|
|
#
|
|
# Note that libraries need to be published in topological order.
|
|
|
|
echo git checkout -b bump-version-to-$version
|
|
echo git commit -a -m "\"Bump version to $version"\"
|
|
echo git tag v$version
|
|
echo git push origin bump-version-to-$version
|
|
echo "# Don't forget to click the above link to open a pull-request!"
|
|
echo git push origin v$version
|
|
for cargo_toml in \
|
|
crates/wasi-common/wasi-common-cbindgen/Cargo.toml \
|
|
crates/wasi-common/winx/Cargo.toml \
|
|
crates/wasi-common/wig/Cargo.toml \
|
|
crates/wasi-common/Cargo.toml \
|
|
crates/lightbeam/Cargo.toml \
|
|
crates/environ/Cargo.toml \
|
|
crates/obj/Cargo.toml \
|
|
crates/runtime/Cargo.toml \
|
|
crates/debug/Cargo.toml \
|
|
crates/jit/Cargo.toml \
|
|
crates/api/Cargo.toml \
|
|
crates/wasi/Cargo.toml \
|
|
crates/wast/Cargo.toml \
|
|
crates/interface-types/Cargo.toml \
|
|
crates/misc/py/Cargo.toml \
|
|
crates/misc/rust/macro/Cargo.toml \
|
|
crates/misc/rust/Cargo.toml \
|
|
; do
|
|
version=""
|
|
case $cargo_toml in
|
|
crates/lightbeam/Cargo.toml) version=" +nightly" ;;
|
|
crates/misc/py/Cargo.toml) version=" +nightly" ;;
|
|
esac
|
|
|
|
echo cargo$version publish --manifest-path "$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
|