Contract verification (#2252) #3
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: | |
pull_request: | |
merge_group: | |
push: | |
branches: | |
- master | |
workflow_dispatch: | |
jobs: | |
test-forge-unit-and-integration: | |
name: Test Forge / Unit and Integration Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- uses: software-mansion/[email protected] | |
- uses: software-mansion/setup-universal-sierra-compiler@v1 | |
- run: cargo test --release --lib -p forge | |
- run: cargo test --release --bin snforge | |
- run: cargo test --release integration -p forge | |
test-forge-e2e: | |
name: Test Forge / E2E Tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Extract branch name | |
if: github.event_name != 'pull_request' | |
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV | |
- name: Extract branch name on pull request | |
if: github.event_name == 'pull_request' | |
run: echo "BRANCH_NAME=$(echo $GITHUB_HEAD_REF)" >> $GITHUB_ENV | |
- name: Extract repo name and owner | |
if: github.event_name != 'pull_request' | |
run: echo "REPO_NAME=$(echo ${{ github.repository }}.git)" >> $GITHUB_ENV | |
- name: Extract repo name and owner on pull request | |
if: github.event_name == 'pull_request' | |
run: echo "REPO_NAME=$(echo ${{ github.event.pull_request.head.repo.full_name }}.git)" >> $GITHUB_ENV | |
- name: Print repo name | |
run: echo 'The repo name is' $REPO_NAME | |
- name: Get branch name | |
run: echo 'The branch name is' $BRANCH_NAME | |
- name: Install cairo-profiler | |
run: | | |
curl -L https://raw.githubusercontent.com/software-mansion/cairo-profiler/main/scripts/install.sh | sh | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- uses: software-mansion/[email protected] | |
- uses: software-mansion/setup-universal-sierra-compiler@v1 | |
- run: cargo test --release e2e -p forge | |
test-forge-runner: | |
name: Test Forge Runner | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- run: cargo test --release -p forge_runner | |
test-cheatnet: | |
name: Test Cheatnet | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- uses: software-mansion/[email protected] | |
- uses: software-mansion/setup-universal-sierra-compiler@v1 | |
- name: Run Cheatnet tests | |
run: cargo test --release -p cheatnet | |
test-cast: | |
name: Test Cast | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- name: Install starknet-devnet-rs | |
run: ./scripts/install_devnet.sh | |
- uses: software-mansion/[email protected] | |
- uses: software-mansion/setup-universal-sierra-compiler@v1 | |
- name: Run tests | |
run: cargo test --release -p sncast | |
test-conversions: | |
name: Test Conversions | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- name: Run tests | |
run: cargo test --release -p conversions | |
test-shared: | |
name: Test Shared | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- run: cargo test --release -p shared | |
test-scarb-api: | |
name: Test Scarb Api | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@stable | |
- uses: software-mansion/setup-universal-sierra-compiler@v1 | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- uses: software-mansion/[email protected] | |
- uses: software-mansion/setup-universal-sierra-compiler@v1 | |
- run: cargo test --release -p scarb-api | |
scarbfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: software-mansion/[email protected] | |
- name: Check cairo files format | |
run: | | |
output=$(find . -type f -name "Scarb.toml" -execdir sh -c ' | |
echo "Running \"scarb fmt\" in directory: $PWD" | |
scarb fmt --check | |
' \;) | |
echo "$output" | |
if grep -iq "Diff" <<< "$output"; then | |
exit 1 | |
fi | |
exit 0 | |
rustfmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- name: Check formatting | |
run: cargo fmt --check | |
clippy: | |
runs-on: ubuntu-latest | |
env: | |
# Make sure CI fails on all warnings - including Clippy lints. | |
RUSTFLAGS: "-Dwarnings" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- run: cargo lint | |
build-docs: | |
name: Test Building Docs | |
runs-on: ubuntu-latest | |
env: | |
MDBOOK_VERSION: 0.4.31 | |
steps: | |
- uses: dtolnay/rust-toolchain@21dc36fb71dd22e3317045c0c31a3f4249868b17 | |
with: | |
toolchain: stable | |
- uses: Swatinem/rust-cache@23bce251a8cd2ffc3c1075eaa2367cf899916d84 | |
- uses: actions/checkout@v4 | |
- name: Install mdBook | |
run: | | |
cargo install --version ${MDBOOK_VERSION} mdbook | |
- name: Install mdBook Link-Check | |
run: | | |
cargo install mdbook-linkcheck | |
- name: Build with mdBook | |
run: mdbook build | |
working-directory: ./docs | |
typos: | |
name: Check typos | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: typos-action | |
uses: crate-ci/[email protected] |