Migrate CI and builds to Just, add "full" builds (#660)

This commit is contained in:
Félix Saparelli 2023-01-08 18:27:36 +13:00 committed by GitHub
parent 305bf8123d
commit aea9df602c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
30 changed files with 717 additions and 463 deletions

View file

@ -1,13 +0,0 @@
[package]
name = "cargo-binstall"
description = "Rust binary package installer for CI integration"
repository = "https://bitbucket.org/nobodyxusdcdc/hello-world"
version = "0.12.0"
rust-version = "1.61.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "GPL-3.0"
[[bin]]
name = "cargo-binstall"
path = "src/main.rs"

View file

@ -1,13 +0,0 @@
[package]
name = "cargo-binstall"
description = "Rust binary package installer for CI integration"
repository = "https://github.com/cargo-bins/cargo-binstall"
version = "0.12.0"
rust-version = "1.61.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "GPL-3.0"
[[bin]]
name = "cargo-binstall"
path = "src/main.rs"

View file

@ -1,16 +0,0 @@
[package]
name = "cargo-binstall"
description = "Rust binary package installer for CI integration"
repository = "https://github.com/cargo-bins/cargo-binstall"
version = "0.12.0"
rust-version = "1.61.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "GPL-3.0"
[package.metadata.binstall]
bin-dir = "{ bin }{ binary-ext }"
[[bin]]
name = "cargo-binstall"
path = "src/main.rs"

View file

@ -1,13 +0,0 @@
[package]
name = "cargo-binstall"
description = "Rust binary package installer for CI integration"
repository = "https://gitlab.kitware.com/NobodyXu/hello-world"
version = "0.2.0"
rust-version = "1.61.0"
authors = ["ryan <ryan@kurte.nz>"]
edition = "2021"
license = "GPL-3.0"
[[bin]]
name = "cargo-binstall"
path = "src/main.rs"

View file

@ -1,4 +0,0 @@
#!/bin/bash
echo Always returns 1 to prevent use of "cargo-build"
exit 1

View file

@ -1,6 +0,0 @@
#!/bin/bash
set -euxo pipefail
apt update
exec apt install -y --no-install-recommends liblzma-dev libzip-dev libzstd-dev

View file

@ -1,17 +0,0 @@
#!/bin/bash
set -euxo pipefail
for o in outputs/*; do
pushd "$o"
chmod +x cargo-binstall*
target=$(basename "$o" | cut -d. -f1)
if grep -qE '(apple|windows)' <<< "$target"; then
zip -9 "../cargo-binstall-${target}.zip" *
else
tar cv * | gzip -9 > "../cargo-binstall-${target}.tgz"
fi
popd
done

View file

@ -1,126 +0,0 @@
#!/bin/bash
set -euxo pipefail
unset CARGO_INSTALL_ROOT
crates="b3sum cargo-release cargo-binstall cargo-watch miniserve sccache"
if [ "$2" = "Windows" ]; then
# Install binaries using cargo-binstall
# shellcheck disable=SC2086
"./$1" --log-level debug --no-confirm $crates
else
export CARGO_HOME=/tmp/cargo-home-for-test
export PATH="$CARGO_HOME/bin:/tmp/t/bin:$PATH"
mkdir -p "/tmp/t/bin"
# Copy it to bin to test use of env var `CARGO`
cp "./$1" "/tmp/t/bin/cargo-binstall"
# Install binaries using cargo-binstall
# shellcheck disable=SC2086
cargo binstall --log-level debug --no-confirm $crates
rm -r /tmp/t
fi
# Test that the installed binaries can be run
b3sum --version
cargo-release release --version
cargo-binstall --help >/dev/null
cargo binstall --help >/dev/null
cargo watch -V
miniserve -V
test_resources=".github/scripts/cargo-tomls"
# Install binaries using `--manifest-path`
# Also test default github template
"./$1" binstall --force --log-level debug --manifest-path "$test_resources/github-test-Cargo.toml" --no-confirm cargo-binstall
# Test that the installed binaries can be run
cargo binstall --help >/dev/null
# FIXME: test this some other way that is not dependent on the version being published!
# "./$1" binstall --force --log-level debug --manifest-path crates/bin --no-confirm cargo-binstall
min_tls=1.3
[[ "${2:-}" == "Windows" ]] && min_tls=1.2 # WinTLS on GHA doesn't support 1.3 yet
"./$1" binstall \
--force \
--log-level debug \
--min-tls-version $min_tls \
--no-confirm \
cargo-binstall
# Test that the installed binaries can be run
cargo binstall --help >/dev/null
# Test --version
"./$1" binstall --force --log-level debug --no-confirm --version 0.11.1 cargo-binstall
# Test that the installed binaries can be run
cargo binstall --help >/dev/null
# Test "$crate_name@$version"
"./$1" binstall --force --log-level debug --no-confirm cargo-binstall@0.11.1
# Test that the installed binaries can be run
cargo binstall --help >/dev/null
# Test skip when installed
"./$1" binstall --no-confirm --force cargo-binstall@0.11.1
"./$1" binstall --no-confirm cargo-binstall@0.11.1 | grep -q 'cargo-binstall v0.11.1 is already installed'
"./$1" binstall --no-confirm cargo-binstall@0.10.0 | grep -q -v 'cargo-binstall v0.10.0 is already installed'
## Test When 0.11.0 is installed but can be upgraded.
"./$1" binstall --no-confirm cargo-binstall@0.12.0
"./$1" binstall --no-confirm cargo-binstall@0.12.0 | grep -q 'cargo-binstall v0.12.0 is already installed'
"./$1" binstall --no-confirm cargo-binstall@^0.12.0 | grep -q -v 'cargo-binstall v0.12.0 is already installed'
# Test default GitLab pkg-url templates
"./$1" binstall \
--force \
--manifest-path "$test_resources/gitlab-test-Cargo.toml" \
--log-level debug \
--no-confirm \
--disable-strategies compile \
cargo-binstall
# Test default BitBucket pkg-url templates
"./$1" binstall \
--force \
--manifest-path "$test_resources/bitbucket-test-Cargo.toml" \
--log-level debug \
--no-confirm \
--disable-strategies compile \
cargo-binstall
# Test default Github pkg-url templates,
# with bin-dir provided
"./$1" binstall \
--force \
--manifest-path "$test_resources/github-test-Cargo2.toml" \
--log-level debug \
--no-confirm \
--disable-strategies compile \
cargo-binstall
## Test --disable-strategies
set +e
"./$1" binstall --no-confirm --disable-strategies quick-install,compile cargo-update
exit_code="$?"
if [ "$exit_code" != 94 ]; then
echo "Expected exit code 94, but actual exit code $exit_code"
exit 1
fi
## Test --strategies
"./$1" binstall --no-confirm --strategies crate-meta-data cargo-update
exit_code="$?"
if [ "$exit_code" != 94 ]; then
echo "Expected exit code 94, but actual exit code $exit_code"
exit 1
fi