Skip to content

Update devcontainer image: v0.7.2 (#2091) #18

Update devcontainer image: v0.7.2 (#2091)

Update devcontainer image: v0.7.2 (#2091) #18

Workflow file for this run

name: ci
on:
push:
branches:
- main
pull_request:
env:
CARGO_TERM_COLOR: always
RUST_VERSION: 1.76.0
jobs:
build:
runs-on: ubuntu-latest-4-cores
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: |
cargo build -r --bin katana
mkdir -p bins
cp ./target/release/katana bins/
- uses: actions/upload-artifact@v4
with:
name: katana-binary
path: bins
test:
needs: ensure-docker
runs-on: ubuntu-latest-32-cores
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- uses: actions/download-artifact@v4
with:
name: katana-binary
path: /tmp/bins
- run: |
chmod +x /tmp/bins/katana
KATANA_RUNNER_BIN=/tmp/bins/katana cargo llvm-cov nextest --no-report --all-features --workspace --exclude katana --build-jobs 20
cargo llvm-cov nextest --no-report -p katana
# TODO(kariy): uncomment this line when `sir` feature support Cairo 2.6.3
# cargo llvm-cov nextest --no-report -p katana --no-default-features --features sir
cargo llvm-cov report --lcov --output-path lcov.info
- uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: lcov.info
ensure-wasm:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: cargo build -r --target wasm32-unknown-unknown -p torii-client
ensure-windows:
needs: ensure-docker
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.rust_version }}
target: x86_64-pc-windows-msvc
- uses: swatinem/rust-cache@v2
- uses: arduino/setup-protoc@v2
with:
repo-token: ${{ secrets.github_token }}
- run: cargo build --target x86_64-pc-windows-msvc --bins
# This job is used to ensure the built katana image doesn't depend on any
# libraries that don't exist in the base docker image we use for distribution
ensure-docker:
needs: build
runs-on: ubuntu-latest
container:
image: debian:bookworm-slim
steps:
- uses: actions/download-artifact@v4
with:
name: katana-binary
- run: |
chmod +x ./katana
./katana &
KATANA_PID=$!
sleep 2
if ! kill -0 $KATANA_PID; then
echo "Katana exited with an error"
exit 1
fi
kill $KATANA_PID
cairofmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: software-mansion/setup-scarb@v1
with:
scarb-version: "2.6.3"
- run: |
scarb --manifest-path examples/spawn-and-move/Scarb.toml fmt --check
scarb --manifest-path crates/dojo-core/Scarb.toml fmt --check
dojo-core-test:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: cargo run --bin sozo -- --manifest-path crates/dojo-core/Scarb.toml test
dojo-spawn-and-move-example-test:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: cargo run --bin sozo -- --manifest-path examples/spawn-and-move/Scarb.toml test
dojo-world-bindings-check:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: cargo run --bin dojo-world-abigen -- --check
clippy:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: scripts/clippy.sh
fmt:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: scripts/rust_fmt.sh --check
docs:
runs-on: ubuntu-latest
container:
image: ghcr.io/dojoengine/dojo-dev:v0.7.2
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: >
scripts/docs.sh
test-hurl:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.RUST_VERSION }}
- uses: Swatinem/rust-cache@v2
- run: |
curl --location --remote-name https://github.com/Orange-OpenSource/hurl/releases/download/3.0.0/hurl_3.0.0_amd64.deb
sudo apt update && sudo apt install ./hurl_3.0.0_amd64.deb
- run: |
cargo build --bin katana
nohup target/debug/katana --accounts 2 --disable-fee &
- run: hurl --test examples/rpc/**/*.hurl