test: create e2e smoke test flow + use cluster for SP1 proofs #663
Workflow file for this run
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
# Based on https://github.com/actions-rs/example/blob/master/.github/workflows/quickstart.yml | |
name: rust | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
paths: | |
- '**.rs' | |
- '**.toml' | |
- '**.lock' | |
- '**.proto' | |
- 'abi/**' | |
jobs: | |
lints: | |
name: fmt-and-clippy | |
runs-on: depot-ubuntu-22.04-4 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Set up environment" | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
shell: bash | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }} | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install just | |
uses: extractions/setup-just@v2 | |
- name: Build SP1 Programs | |
run: just build-sp1-programs | |
- name: Run cargo fmt | |
uses: actions-rs/cargo@v1 | |
with: | |
command: fmt | |
args: --all -- --check | |
- name: Run cargo clippy | |
uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
tests: | |
name: unit-tests | |
runs-on: depot-ubuntu-22.04-4 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Set up environment" | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
shell: bash | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }} | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Install just | |
uses: extractions/setup-just@v2 | |
- name: Run unit tests | |
run: just test-cargo | |
env: | |
RUST_BACKTRACE: 1 | |
build-relayer: | |
name: build-relayer | |
runs-on: depot-ubuntu-22.04-4 | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Set up environment" | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
shell: bash | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }} | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --bin relayer --release --locked | |
build-operator: | |
name: build-operator | |
runs-on: depot-ubuntu-22.04-4 | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: "Set up environment" | |
uses: ./.github/actions/setup | |
- name: Install SP1 toolchain | |
shell: bash | |
run: | | |
curl -L https://sp1.succinct.xyz | bash | |
~/.sp1/bin/sp1up --token ${{ secrets.GITHUB_TOKEN }} | |
~/.sp1/bin/cargo-prove prove --version | |
- name: Build | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --bin operator --release --locked | |
build-08-wasm-eth: | |
name: build-08-wasm-eth | |
runs-on: depot-ubuntu-22.04-4 | |
continue-on-error: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
components: rustfmt, clippy | |
target: wasm32-unknown-unknown | |
- name: Install cargo-run-script and cosmwasm-check | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: cargo-run-script cosmwasm-check | |
- name: Install just | |
uses: extractions/setup-just@v2 | |
- name: Build optimized wasm binary | |
run: just build-cw-ics08-wasm-eth | |
# checks that the wasm binary is a proper cosmwasm smart contract | |
# it checks for things like memories, exports, imports, available capabilities, and non-determinism | |
- name: Check cosmwasm file | |
run: cosmwasm-check artifacts/cw_ics08_wasm_eth.wasm | |