Skip to content

Commit

Permalink
✨ fpvm tests in CI
Browse files Browse the repository at this point in the history
  • Loading branch information
clabby committed Feb 13, 2024
1 parent 6831d10 commit ef22ba7
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 16 deletions.
17 changes: 11 additions & 6 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ jobs:
cargo-lint:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
target: ["native", "cannon", "asterisc"]
name: lint-${{ matrix.target }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
Expand All @@ -30,13 +34,15 @@ jobs:
- 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
- name: fmt + lint
run: just lint-${{ matrix.target }}
cargo-build:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
target: ["native", "cannon", "asterisc"]
name: build-${{ matrix.target }}
continue-on-error: true
steps:
- name: Checkout sources
Expand All @@ -47,8 +53,7 @@ jobs:
with:
cache-on-failure: true
- name: build
id: build
run: cargo build --workspace --all --locked
run: just build-${{ matrix.target }}
cargo-doc:
runs-on: ubuntu-latest
timeout-minutes: 20
Expand Down
33 changes: 33 additions & 0 deletions .github/workflows/fpvm-tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: FPVM
on: [push]
env:
CARGO_TERM_COLOR: always
jobs:
fpvm-example-tests:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
fpvm: ["cannon", "asterisc"]
name: ${{ matrix.fpvm }}-tests
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Install Rust stable toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install Rust nightly toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Setup Go toolchain
uses: actions/setup-go@v4
with:
go-version: "1.21.6"
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true
- uses: taiki-e/install-action@just
- name: Pull ${{ matrix.fpvm }} Build Image
run: |
docker pull ghcr.io/ethereum-optimism/kona/${{ matrix.fpvm }}-builder:main
- name: Run FPVM tests
working-directory: ./fpvm-tests
run: just test-${{ matrix.fpvm }}
5 changes: 3 additions & 2 deletions build/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,16 @@ docker run \
--platform linux/amd64 \
-v `pwd`/:/workdir \
-w="/workdir" \
cannon-pipeline:latest cargo build --release -Zbuild-std
ghcr.io/ethereum-optimism/kona/cannon-builder:main cargo build --release -Zbuild-std
```

**asterisc**

```
docker run \
--rm \
--platform linux/amd64 \
-v `pwd`/:/workdir \
-w="/workdir" \
asterisc-pipeline:latest cargo build --release -Zbuild-std
ghcr.io/ethereum-optimism/kona/asterisc-builder:main cargo build --release -Zbuild-std
```
4 changes: 2 additions & 2 deletions examples/minimal/justfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ build-cannon *args='':
--platform linux/amd64 \
-v `pwd`/../../:/workdir \
-w="/workdir/examples/minimal" \
cannon-pipeline:latest cargo build -Zbuild-std $@
ghcr.io/ethereum-optimism/kona/cannon-builder:main cargo build -Zbuild-std $@

# Build for the `asterisc` target
build-asterisc *args='':
Expand All @@ -16,4 +16,4 @@ build-asterisc *args='':
--platform linux/amd64 \
-v `pwd`/../../:/workdir \
-w="/workdir/examples/minimal" \
asterisc-pipeline:latest cargo build -Zbuild-std $@
ghcr.io/ethereum-optimism/kona/asterisc-builder:main cargo build -Zbuild-std $@
4 changes: 2 additions & 2 deletions examples/simple-revm/justfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ build-cannon *args='':
--platform linux/amd64 \
-v `pwd`/../../:/workdir \
-w="/workdir/examples/simple-revm" \
cannon-pipeline:latest cargo build -Zbuild-std $@
ghcr.io/ethereum-optimism/kona/cannon-builder:main cargo build -Zbuild-std $@

# Build for the `asterisc` target
build-asterisc *args='':
Expand All @@ -16,4 +16,4 @@ build-asterisc *args='':
--platform linux/amd64 \
-v `pwd`/../../:/workdir \
-w="/workdir/examples/simple-revm" \
asterisc-pipeline:latest cargo build -Zbuild-std $@
ghcr.io/ethereum-optimism/kona/asterisc-builder:main cargo build -Zbuild-std $@
8 changes: 4 additions & 4 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ lint-cannon:
--platform linux/amd64 \
-v `pwd`/:/workdir \
-w="/workdir" \
cannon-pipeline:latest cargo +nightly clippy --workspace --all --all-features --target /mips-unknown-none.json -Zbuild-std -- -D warnings
ghcr.io/ethereum-optimism/kona/cannon-builder:main cargo +nightly clippy --workspace --all --all-features --target /mips-unknown-none.json -Zbuild-std -- -D warnings

# Lint the workspace (risc-v arch)
lint-asterisc:
Expand All @@ -32,7 +32,7 @@ lint-asterisc:
--platform linux/amd64 \
-v `pwd`/:/workdir \
-w="/workdir" \
asterisc-pipeline:latest cargo +nightly clippy --workspace --all --all-features --target riscv64gc-unknown-linux-gnu -Zbuild-std -- -D warnings
ghcr.io/ethereum-optimism/kona/asterisc-builder:main cargo +nightly clippy --workspace --all --all-features --target riscv64gc-unknown-linux-gnu -Zbuild-std -- -D warnings

# Build the workspace for all available targets
build: build-native build-cannon build-asterisc
Expand All @@ -48,7 +48,7 @@ build-cannon *args='':
--platform linux/amd64 \
-v `pwd`/:/workdir \
-w="/workdir" \
cannon-pipeline:latest cargo build --workspace --all -Zbuild-std $@
ghcr.io/ethereum-optimism/kona/cannon-builder:main cargo build --workspace --all -Zbuild-std $@

# Build for the `asterisc` target
build-asterisc *args='':
Expand All @@ -57,4 +57,4 @@ build-asterisc *args='':
--platform linux/amd64 \
-v `pwd`/:/workdir \
-w="/workdir" \
asterisc-pipeline:latest cargo build --workspace --all -Zbuild-std $@
ghcr.io/ethereum-optimism/kona/asterisc-builder:main cargo build --workspace --all -Zbuild-std $@

0 comments on commit ef22ba7

Please sign in to comment.