Feature/quadratic #169
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Lint and Test | |
on: | |
push: | |
branches: master | |
pull_request: | |
branches: master | |
env: | |
CARGO_TERM_COLOR: always | |
SOLANA_VERSION: '1.17.12' | |
RUST_TOOLCHAIN: stable | |
jobs: | |
lint: | |
name: Run Linters | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
override: true | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
components: rustfmt, clippy | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v1 | |
- name: Run fmt | |
run: cargo fmt -- --check | |
- name: Run clippy | |
run: cargo clippy -- --deny=warnings | |
test: | |
name: Run Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Linux dependencies | |
run: sudo apt-get update && sudo apt-get install -y pkg-config build-essential libudev-dev | |
- name: Install Rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
override: true | |
profile: minimal | |
toolchain: ${{ env.RUST_TOOLCHAIN }} | |
- name: Cache dependencies | |
uses: Swatinem/rust-cache@v1 | |
- name: Cache Solana binaries | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/solana | |
~/.local/share/solana | |
key: ${{ runner.os }}-${{ env.SOLANA_VERSION }} | |
- name: Install Solana | |
run: | | |
echo Installing Solana v${{ env.SOLANA_VERSION }}...🧬 | |
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" | |
echo Generating keypair... | |
solana-keygen new -o "$HOME/.config/solana/id.json" --no-passphrase --silent | |
- name: Install BPF tools | |
# Note: as a workaround for cargo build-sbf issue run it and ignore errors to install the BPF tools | |
# https://github.com/solana-labs/solana/issues/26583 | |
run: cargo build-sbf || true | |
- name: Build dependencies | |
run: cargo build-sbf | |
- name: Run sbf tests | |
run: cargo test-sbf |