refactor(sozo): fetch writes
from events and calculate diff for that + some refactor
#7563
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
name: ci | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
RUST_VERSION: 1.79.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 | |
cargo build -r --bin sozo | |
mkdir -p bins | |
cp ./target/release/katana bins/ | |
cp ./target/release/sozo bins/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dojo-bins | |
path: bins | |
test: | |
needs: ensure-docker | |
runs-on: ubuntu-latest-32-cores | |
container: | |
image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.3 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dojo-bins | |
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 | |
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:v1.0.0-alpha.3 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- name: Install wasm32 target | |
run: rustup target add wasm32-unknown-unknown | |
- 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: dojo-bins | |
- 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.7.0-rc.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: | |
needs: build | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.3 | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dojo-bins | |
path: /tmp/bins | |
- uses: actions/checkout@v3 | |
- run: | | |
chmod +x /tmp/bins/sozo | |
/tmp/bins/sozo --manifest-path crates/dojo-core/Scarb.toml test | |
dojo-spawn-and-move-example-test: | |
needs: build | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.3 | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dojo-bins | |
path: /tmp/bins | |
- uses: actions/checkout@v3 | |
- run: | | |
chmod +x /tmp/bins/sozo | |
/tmp/bins/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:v1.0.0-alpha.3 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: cargo run --bin dojo-world-abigen -- --check | |
clippy: | |
runs-on: ubuntu-latest-4-cores | |
container: | |
image: ghcr.io/dojoengine/dojo-dev:v1.0.0-alpha.3 | |
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:v1.0.0-alpha.3 | |
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:v1.0.0-alpha.3 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: Swatinem/rust-cache@v2 | |
- run: > | |
scripts/docs.sh | |
test-hurl: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dojo-bins | |
path: /tmp/bins | |
- uses: actions/checkout@v3 | |
- 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 | |
chmod +x /tmp/bins/katana | |
chmod +x /tmp/bins/sozo | |
nohup /tmp/bins/katana --accounts 2 --disable-fee & | |
- run: | | |
/tmp/bins/sozo --manifest-path examples/spawn-and-move/Scarb.toml build | |
/tmp/bins/sozo --manifest-path examples/spawn-and-move/Scarb.toml migrate apply | |
- run: hurl --test examples/rpc/**/*.hurl |