Allow building client crates without rocksdb #10052
Workflow file for this run
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: | |
# Don't run Rust tests if only docs changed. | |
paths-ignore: | |
- 'docs/**' | |
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 | |
with: | |
# we don't need lfs for the check to pass, but we do need it for the paths-ignore | |
# option to work correctly. | |
lfs: true | |
- name: Load rust cache | |
uses: astriaorg/[email protected] | |
- run: cargo fmt --all -- --check | |
check: | |
name: Check all crate features | |
runs-on: buildjet-16vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- 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 |