Skip to content

Commit d94d217

Browse files
committedFeb 20, 2024
solana: add basic CI for Solana integration branch
1 parent f1a5568 commit d94d217

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed
 

‎.github/workflows/ci.yml

+77
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Solana Integration Checks
2+
on:
3+
push:
4+
branches:
5+
- solana/integration
6+
pull_request: null
7+
8+
env:
9+
RUSTC_VERSION: 1.76.0
10+
jobs:
11+
cancel-previous-runs:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Cancel Previous Runs
15+
uses: styfle/cancel-workflow-action@0.9.1
16+
with:
17+
access_token: ${{ github.token }}
18+
cargo-clippy-and-lint:
19+
name: Clippy Checks
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Install toolchain
24+
uses: dtolnay/rust-toolchain@master
25+
with:
26+
toolchain: ${{ env.RUSTC_VERSION }}
27+
components: clippy, rustfmt
28+
- name: cargo fmt --check
29+
run: cargo fmt --check
30+
working-directory: ./solana
31+
- name: cargo clippy --locked --no-deps --all-targets --features testnet -- -D warnings
32+
run: cargo clippy --locked --no-deps --all-targets --features testnet -- -D warnings
33+
working-directory: ./solana
34+
- name: cargo clippy --locked --no-deps --all-targets --features localnet -- -D warnings
35+
run: cargo clippy --locked --no-deps --all-targets --features localnet -- -D warnings
36+
working-directory: ./solana
37+
test:
38+
name: Run Tests
39+
runs-on: ubuntu-latest
40+
# Anchor Docker image: https://www.anchor-lang.com/docs/verifiable-builds#images
41+
container: backpackapp/build:v0.29.0
42+
steps:
43+
- uses: actions/checkout@v4
44+
- name: Switch to Solana directory
45+
run: cd solana
46+
- name: Generate new keygen
47+
run: solana-keygen new
48+
- name: Install NPM dependencies
49+
run: npm ci
50+
working-directory: ./solana
51+
- name: cargo test --features localnet --no-default-features
52+
run: cargo test --features localnet --no-default-features
53+
working-directory: ./solana
54+
- name: cargo test --features testnet --no-default-features
55+
run: cargo test --features testnet --no-default-features
56+
working-directory: ./solana
57+
- name: anchor build --arch sbf -- --features testnet
58+
run: anchor build --arch sbf -- --features testnet
59+
working-directory: ./solana
60+
- name: Create artifact directory
61+
run: mkdir -p ts/tests/artifacts
62+
working-directory: ./solana
63+
- name: Copy Testnet Matching Engine Object
64+
run: cp target/deploy/matching_engine.so ts/tests/artifacts/testnet_matching_engine.so
65+
working-directory: ./solana
66+
- name: Copy Testnet Token Router Object
67+
run: cp target/deploy/token_router.so ts/tests/artifacts/testnet_token_router.so
68+
working-directory: ./solana
69+
- name: Copy Upgrade Manager Object
70+
run: cp target/deploy/upgrade_manager.so ts/tests/artifacts/testnet_upgrade_manager.so
71+
working-directory: ./solana
72+
- name: anchor build --arch sbf -- --features integration-test
73+
run: anchor build --arch sbf -- --features integration-test
74+
working-directory: ./solana
75+
- name: anchor test --skip-build
76+
run: anchor test --skip-build
77+
working-directory: ./solana

0 commit comments

Comments
 (0)