-
-
Notifications
You must be signed in to change notification settings - Fork 81
132 lines (123 loc) · 4.13 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
name: test
on:
push:
branches:
- main
pull_request:
branches:
- "*"
defaults:
run:
shell: bash
working-directory: .
env:
RUST_TOOLCHAIN: 1.71.0
SOLANA_CLI_VERSION: 1.14.17
ANCHOR_VERSION: 0.28.0
ANCHOR_SHA: e1afcbf71e0f2e10fae14525934a6a68479167b9
CARGO_TERM_COLOR: always
CARGO_BUILD_TARGET: x86_64-unknown-linux-gnu
concurrency:
group: build-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-common/
- uses: actions/cache@v2
name: Cache Cargo registry + index
id: cache-cargo-build
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- run: cargo fmt -- --check
- run: cargo clippy --features=test,test-bpf,admin -- -D warnings -A clippy::result_large_err -A clippy::await_holding_refcell_ref -A clippy::comparison_chain -A clippy::bind_instead_of_map
test-unit:
name: Rust Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/setup-common/
- uses: actions/cache@v2
name: Cache Cargo registry + index
id: cache-cargo-build
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
key: cargo-${{ runner.os }}-cargo-build-${{ hashFiles('**/Cargo.lock') }}
- run: cargo test --lib
build-programs:
name: Build Anchor Programs
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
program:
- marginfi
- liquidity-incentive-program
steps:
- uses: actions/checkout@v2
- uses: ./.github/actions/build-anchor/
with:
program: ${{ matrix.program }}
# build:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: cache dependencies
# uses: Swatinem/rust-cache@v2
# - name: Install minimal rust toolchain
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: ${{ env.RUST_TOOLCHAIN }}
# default: true
# - name: install solana
# run: |
# sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_VERSION }}/install)"
# echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
# export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
# solana-keygen new -o "$HOME/.config/solana/id.json" --no-passphrase --silent
# - name: Setup node
# uses: actions/setup-node@v2
# with:
# node-version: '16.x'
# registry-url: 'https://registry.npmjs.org'
# - name: install anchor cli
# run: npm install -g @coral-xyz/[email protected]
# - run: anchor build
# test:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v3
# - name: cache dependencies
# uses: Swatinem/rust-cache@v2
# - name: Install minimal rust toolchain
# uses: actions-rs/toolchain@v1
# with:
# profile: minimal
# toolchain: ${{ env.RUST_TOOLCHAIN }}
# default: true
# - name: install solana
# run: |
# sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_VERSION }}/install)"
# echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
# export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
# solana-keygen new -o "$HOME/.config/solana/id.json" --no-passphrase --silent
# - name: Setup node
# uses: actions/setup-node@v2
# with:
# node-version: '16.x'
# registry-url: 'https://registry.npmjs.org'
# - name: install anchor cli
# run: npm install -g @coral-xyz/[email protected]
# - run: ./scripts/test.sh