Skip to content

Merge pull request #1484 from eqlabs/pierre/1467-distinguish-internal… #4607

Merge pull request #1484 from eqlabs/pierre/1467-distinguish-internal…

Merge pull request #1484 from eqlabs/pierre/1467-distinguish-internal… #4607

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches: [ main ]
pull_request:
branches: [ main ]
# Limits workflow concurrency to only the latest commit in the PR.
concurrency:
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}'
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
remove-dotnet: 'true'
remove-android: 'true'
remove-haskell: 'true'
remove-codeql: 'true'
remove-docker-images: 'true'
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: Noelware/[email protected]
- uses: taiki-e/install-action@nextest
- name: Compile unit tests
run: timeout 25m cargo nextest run --all-targets --all-features --workspace --locked --no-run
- name: Run unit tests
run: timeout 10m cargo nextest run --no-fail-fast --all-targets --all-features --workspace --locked
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- uses: Noelware/[email protected]
- run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings -D rust_2018_idioms
rustfmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- uses: Swatinem/rust-cache@v2
- run: cargo fmt --all -- --check
doc:
runs-on: ubuntu-latest
env:
RUSTDOCFLAGS: "-D warnings"
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: Noelware/[email protected]
- run: cargo doc --no-deps --document-private-items
dep-sort:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: baptiste0928/cargo-install@v2
with:
crate: cargo-sort
version: "^1.0.9"
- uses: Swatinem/rust-cache@v2
- run: |
cargo sort --check --workspace
msrv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: read msrv
id: msrv
run: |
msrv=$(grep -P "rust-version =" Cargo.toml | awk '{print $3}' | tr -d '"')
echo Found msrc: $msrv
echo "MSRV=$msrv" >> "$GITHUB_OUTPUT"
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ steps.msrv.outputs.MSRV }}
- uses: Noelware/[email protected]
- uses: Swatinem/rust-cache@v2
- name: check
run: cargo check
fuzz_targets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- uses: rui314/setup-mold@v1
with:
mold-version: 1.4.1
make-default: false
- name: Enable mold
run: |
mkdir -p $HOME/.cargo
cat << EOF >> $HOME/.cargo/config.toml
[target.x86_64-unknown-linux-gnu]
linker = "/usr/bin/clang"
rustflags = ["-C", "link-arg=-fuse-ld=/usr/local/bin/mold"]
EOF
cat $HOME/.cargo/config.toml
- uses: Swatinem/rust-cache@v2
with:
key: "mold"
- run: cargo install cargo-fuzz
- name: stark_hash
run: cargo fuzz build
working-directory: crates/stark_hash
load_test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: "crates/load-test"
- name: cargo check
run: |
cd crates/load-test
cargo check