Skip to content

feat: wip program upgrade CI #14

feat: wip program upgrade CI

feat: wip program upgrade CI #14

Workflow file for this run

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