-
-
Notifications
You must be signed in to change notification settings - Fork 72
133 lines (124 loc) · 4.16 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
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.16.20
ANCHOR_CLI_VERSION: 0.29.0
ANCHOR_SHA: fc9fd6d24b9be84abb2f40e47ed3faf7b11864ae
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:
name: Rust 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