1
+ name : rust-build-and-tests
2
+ on :
3
+ push :
4
+ branches : [master]
5
+ pull_request :
6
+ workflow_dispatch :
7
+
8
+ concurrency :
9
+ group : ci-${{ github.ref }}-onlyswaps
10
+ cancel-in-progress : true
11
+
12
+ env :
13
+ CARGO_TERM_COLOR : always
14
+
15
+ jobs :
16
+ rust-build-and-tests :
17
+ name : Build and test rust crates
18
+ runs-on : ["randamu-self-hosted-default"]
19
+ steps :
20
+ - name : Checkout code
21
+ uses : actions/checkout@v4
22
+ with :
23
+ submodules : ' recursive'
24
+ token : ${{ secrets.PAT_TOKEN }}
25
+
26
+ # 1. Compile onlysubs-solidity
27
+ - name : Cache npm onlysubs-solidity
28
+ uses : actions/cache@v3
29
+ with :
30
+ path : onlysubs-solidity/node_modules
31
+ key : ${{ runner.os }}-npm-onlysubs-solidity-${{ hashFiles('onlysubs-solidity/package-lock.json') }}
32
+ restore-keys : |
33
+ ${{ runner.os }}-npm-onlysubs-solidity-
34
+
35
+ - name : onlysubs-solidity - Install dependencies
36
+ working-directory : ./onlysubs-solidity
37
+ run : npm ci
38
+
39
+ - name : Cache Solidity onlysubs-solidity
40
+ uses : actions/cache@v3
41
+ with :
42
+ path : onlysubs-solidity/out
43
+ key : ${{ runner.os }}-sol-onlysubs-solidity-${{ hashFiles('onlysubs-solidity/src/**/*.sol', 'onlysubs-solidity/lib/**/*.sol') }}
44
+ restore-keys : |
45
+ ${{ runner.os }}-sol-onlysubs-solidity-
46
+
47
+ - name : onlysubs-solidity - Build Solidity contracts
48
+ working-directory : ./onlysubs-solidity
49
+ run : npm run build:forge
50
+
51
+ # 2. Build and test workspace packages
52
+ - name : Lint & Test Rust Workspace
53
+ uses : ./.github/actions/rust-test-action
54
+ with :
55
+ working-directory : .
56
+ extra-cache-key : ' onlyswaps-solver'
0 commit comments