Update devcontainer image: v0.7.2 (#2091) #18
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: | |
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 |