generated from keep-starknet-strange/alexandria
-
Notifications
You must be signed in to change notification settings - Fork 83
145 lines (119 loc) · 3.94 KB
/
test.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
137
138
139
140
141
142
143
144
145
name: CI
permissions: read-all
on: [pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ubuntu-latest
env:
CI_COMMIT_MESSAGE: CI Formatting Auto Commit
CI_COMMIT_AUTHOR: ${{ github.event.repository.name }} CI
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Scarb
uses: software-mansion/setup-scarb@v1
- name: Build contracts
run: scarb build -p contracts
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: kakarot-ssj-build
path: target/dev
tests:
# trunk-ignore(actionlint/runner-label)
runs-on: ubuntu-latest-16-cores
steps:
- uses: actions/checkout@v3
- uses: foundry-rs/setup-snfoundry@v3
- uses: software-mansion/setup-scarb@v1
- run: scarb fmt --check
- run: scarb test
ef-tests:
# trunk-ignore(actionlint/runner-label)
runs-on: ubuntu-latest-16-cores
needs: [build]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Cache cairo-native setup
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
./libcairo_native_runtime.a
key:
${{ runner.os }}-cairo-native-${{ hashFiles('**/Cargo.lock',
'scripts/setup_cairo_native.sh') }}
- name: Make setup script executable
run: chmod +x ./scripts/setup_cairo_native.sh
- name: Setup Cairo Native
run: sudo ./scripts/setup_cairo_native.sh
- name: Set Environment Variables
run: |
echo "MLIR_SYS_190_PREFIX=/usr/lib/llvm-19/" >> $GITHUB_ENV
echo "LLVM_SYS_191_PREFIX=/usr/lib/llvm-19/" >> $GITHUB_ENV
echo "TABLEGEN_190_PREFIX=/usr/lib/llvm-19/" >> $GITHUB_ENV
echo "CAIRO_NATIVE_RUNTIME_LIBRARY=$(pwd)/libcairo_native_runtime.a" >> $GITHUB_ENV
- name: Checkout ef-tests
uses: actions/checkout@v4
with:
repository: kkrt-labs/ef-tests
ref: feat/cairo-native
- name: Checkout local skip file
uses: actions/checkout@v4
with:
sparse-checkout: |
blockchain-tests-skip.yml
sparse-checkout-cone-mode: false
path: skip-file
- name: Replace the skip files
run: mv skip-file/blockchain-tests-skip.yml blockchain-tests-skip.yml
- name: Setup
run: |
mkdir -p build/common
make setup setup-kakarot-v0
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Download Kakarot-SSJ build artifacts in v1
uses: actions/download-artifact@v3
with:
name: kakarot-ssj-build
path: ./build/v1
- name: Move Cairo1Helpers
run: |
mv build/v1/contracts_Cairo1Helpers.compiled_contract_class.json \
build/common/cairo1_helpers.json
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: 3.10.14
- name: Run tests
run: |
set -o pipefail
make ef-test-v1-native | tee data.txt
set +o pipefail
- name: Retrieve ef-tests execution resources
run: python scripts/compute_resources.py
env:
KAKAROT_VERSION: v1
- name: Upload resources
uses: actions/upload-artifact@v3
with:
path: resources
name: resources
- name: Generate blockchain-tests-skip.yml file
if: github.event_name == 'workflow_dispatch'
run: make generate-skip-file
- name: Upload skip file
if: github.event_name == 'workflow_dispatch'
uses: actions/upload-artifact@v3
with:
path: blockchain-tests-skip.yml
name: blockchain-tests-skip