forked from dojoengine/dojo
-
Notifications
You must be signed in to change notification settings - Fork 3
136 lines (123 loc) · 3.99 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: ci
on:
push:
branches:
- main
pull_request:
env:
CARGO_TERM_COLOR: always
RUST_VERSION: 1.76.0
jobs:
test:
runs-on: ubuntu-latest-16-cores
container:
image: ghcr.io/dojoengine/dojo-dev:e95f86f
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: |
cargo build -r --bin katana
KATANA_RUNNER_BIN=$(pwd)/target/release/katana cargo llvm-cov nextest --no-report --all-features --workspace --exclude katana --build-jobs 10
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:e95f86f
steps:
- uses: actions/checkout@v3
- uses: Swatinem/rust-cache@v2
- run: cargo build -r --target wasm32-unknown-unknown -p torii-client
ensure-windows:
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
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:e95f86f
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:e95f86f
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:e95f86f
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:e95f86f
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:e95f86f
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:e95f86f
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