Feat/sdk work #2034
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: 'Build' | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: [main] | |
env: | |
CARGO_TERM_COLOR: always | |
FOUNDRY_PROFILE: ci | |
jobs: | |
build: | |
name: 'Build + Fmt' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: clippy,rustfmt | |
toolchain: nightly | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: stable | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
- name: Update Submodules | |
run: git submodule update --init --recursive | |
- name: "build nightly" | |
run: cargo build --workspace --all-features | |
- name: "cargo fmt" | |
run: cargo fmt --all --check | |
clippy: | |
name: "clippy" | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: clippy,rustfmt | |
toolchain: nightly | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: stable | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
key: "clippy-nightly" | |
- name: Update Submodules | |
run: git submodule update --init --recursive | |
- name: "clippy all" | |
run: cargo clippy --all-targets | |
env: | |
RUSTFLAGS: -D warnings | |
tests: | |
name: "tests" | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@nightly | |
with: | |
components: clippy,rustfmt | |
toolchain: nightly | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: stable | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
cache-on-failure: true | |
key: "clippy-nightly" | |
- name: Update Submodules | |
run: git submodule update --init --recursive | |
- name: "test" | |
run: cargo test | |
contracts: | |
name: 'Build, Format & Test Contracts' | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./contracts | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Install Foundry | |
uses: foundry-rs/foundry-toolchain@v1 | |
with: | |
version: stable | |
- name: Install uv | |
uses: astral-sh/setup-uv@v3 | |
with: | |
version: "0.4.18" | |
- name: Setup python virtual environment | |
run: uv venv .venv --python 3.12 | |
- name: Sync python dependencies | |
run: uv pip install -r requirements.txt | |
- name: Show Forge version | |
run: forge --version | |
- name: Run Forge fmt | |
run: forge fmt --check | |
id: fmt | |
- name: Run Forge tests | |
run: forge test -vvv --ffi | |
id: test |