Skip to content

Commit

Permalink
add rust CI
Browse files Browse the repository at this point in the history
  • Loading branch information
clabby committed Jan 5, 2024
1 parent 4fbf93d commit d0f1cd1
Show file tree
Hide file tree
Showing 2 changed files with 81 additions and 6 deletions.
80 changes: 80 additions & 0 deletions .github/workflows/rust-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Rust CI
on: [push]

env:
CARGO_TERM_COLOR: always

jobs:
cargo-tests:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly
- name: install just
uses: taiki-e/install-action@just
- name: generate testdata
run: |
just testdata
- name: fuzz test
run: cargo run --release -- -m 100 -t 4 --diff-count 25000
cargo-lint:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: cargo fmt
run: cargo fmt --all -- --check
- name: cargo clippy
run: cargo clippy --workspace --all --locked -- -D warnings
cargo-build:
runs-on: ubuntu-latest
timeout-minutes: 20
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: build
id: build
run: cargo build --workspace --all --locked
cargo-doc:
runs-on: ubuntu-latest
timeout-minutes: 20
continue-on-error: true
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- name: doclint
id: build
continue-on-error: true
run: RUSTDOCFLAGS="-D warnings" cargo doc --all --no-deps --document-private-items
- name: doctest
run: cargo test --doc --all --locked

7 changes: 1 addition & 6 deletions .github/workflows/sol-test.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
name: sol-test

on: workflow_dispatch
on: [push]

env:
FOUNDRY_PROFILE: ci
Expand All @@ -16,23 +15,19 @@ jobs:
- uses: actions/checkout@v4
with:
submodules: recursive

- name: Install Foundry
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

- name: Run Forge build
run: |
forge --version
forge build --sizes
id: build

- name: Check formatting
run: |
forge fmt --check
id: fmt

- name: Run Forge tests
run: |
forge test -vvv
Expand Down

0 comments on commit d0f1cd1

Please sign in to comment.