tests(pd): automated migration testing #9163
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Rust CI | |
on: pull_request | |
jobs: | |
test: | |
name: Test Suite | |
runs-on: buildjet-16vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
# The `rust-toolchain.toml` file dictates which version of rust to setup. | |
- name: check rust version | |
run: rustc --version | |
- name: Install nextest | |
uses: taiki-e/install-action@nextest | |
- name: Load rust cache | |
uses: astriaorg/[email protected] | |
- name: Run cargo check, failing on warnings | |
run: cargo check --release --all-targets | |
env: | |
# The `-D warnings` option causes an error on warnings. | |
RUSTFLAGS: "-D warnings" | |
- name: Check wasm compatibility | |
run: ./deployments/scripts/check-wasm-compat.sh | |
# If a dependency was modified, Cargo.lock may flap if not committed. | |
- name: Check for diffs | |
shell: bash | |
run: | | |
s="$(git status --porcelain)" | |
if [[ -n "$s" ]]; then | |
echo "ERROR: found modified files that should be committed:" | |
echo "$s" | |
git diff | head -n 128 | |
exit 1 | |
else | |
echo "OK: no uncommitted changes detected" | |
fi | |
- name: Run tests with nextest | |
run: cargo nextest run --release --features migration | |
env: | |
CARGO_TERM_COLOR: always | |
fmt: | |
name: Rustfmt | |
runs-on: buildjet-8vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Load rust cache | |
uses: astriaorg/[email protected] | |
- run: cargo fmt --all -- --check | |
check: | |
name: Check all crate features | |
runs-on: buildjet-8vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Load rust cache | |
uses: astriaorg/[email protected] | |
- name: install cargo-hack | |
run: cargo install cargo-hack | |
# Build each crate separately, to validate that the feature-gating is working. | |
# This is a lighter-weight version of `cargo check-all-features --workspace --release`. | |
- run: ./deployments/scripts/check-crate-feature-sets |