feat: add Firehose logs #155
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: 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 =" crates/pathfinder/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 |