Skip to content

Commit ce44efe

Browse files
committed
Add basic CI for Solana integration branch
1 parent f1a5568 commit ce44efe

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed

.github/workflows/ci.yml

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
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+
- name: cargo clippy --locked --no-deps --all-targets --features testnet -- -D warnings
31+
run: cargo clippy --locked --no-deps --all-targets --features testnet -- -D warnings
32+
- name: cargo clippy --locked --no-deps --all-targets --features localnet -- -D warnings
33+
run: cargo clippy --locked --no-deps --all-targets --features localnet -- -D warnings
34+
test:
35+
name: Run Tests
36+
runs-on: ubuntu-latest
37+
# Anchor Docker image: https://www.anchor-lang.com/docs/verifiable-builds#images
38+
container: backpackapp/build:v0.29.0
39+
steps:
40+
- uses: actions/checkout@v4
41+
- name: Generate new keygen
42+
run: solana-keygen new
43+
- name: Install NPM dependencies
44+
run: npm ci
45+
- name: cargo test --features localnet --no-default-features
46+
run: cargo test --features localnet --no-default-features
47+
- name: cargo test --features testnet --no-default-features
48+
run: cargo test --features testnet --no-default-features
49+
- name: anchor build --arch sbf -- --features testnet
50+
run: anchor build --arch sbf -- --features testnet
51+
- name: Create artifact directory
52+
run: mkdir -p ts/tests/artifacts
53+
- name: Copy Testnet Matching Engine Object
54+
run: cp target/deploy/matching_engine.so ts/tests/artifacts/testnet_matching_engine.so
55+
- name: Copy Testnet Token Router Object
56+
run: cp target/deploy/token_router.so ts/tests/artifacts/testnet_token_router.so
57+
- name: Copy Upgrade Manager Object
58+
run: cp target/deploy/upgrade_manager.so ts/tests/artifacts/testnet_upgrade_manager.so
59+
- name: anchor build --arch sbf -- --features integration-test
60+
run: anchor build --arch sbf -- --features integration-test
61+
- name: anchor test --skip-build
62+
run: anchor test --skip-build

0 commit comments

Comments
 (0)