feat: merkle-based encoding (#520) #14
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: Continuous Integration for Solana Programs | |
on: | |
push: | |
branches: [main] | |
paths: | |
- solana/** | |
- .github/workflows/solana-programs.yml | |
pull_request: | |
branches: [main] | |
paths: | |
- solana/** | |
- .github/workflows/solana-programs.yml | |
env: | |
SOLANA_VERSION: "v1.18.13" | |
defaults: | |
run: | |
working-directory: solana | |
shell: bash | |
jobs: | |
rustfmt: | |
name: Check code formatting | |
runs-on: large-runner | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup repo | |
uses: ./.github/actions/setup-solana-repo | |
- name: Run rustfmt | |
run: cargo make fmt-check | |
clippy: | |
name: Clippy linting | |
runs-on: large-runner | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup repo | |
uses: ./.github/actions/setup-solana-repo | |
- name: Run clippy | |
run: cargo make clippy-check | |
unused-deps: | |
name: Check for unused dependencies | |
runs-on: large-runner | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup repo | |
uses: ./.github/actions/setup-solana-repo | |
- name: Unused deps | |
run: cargo make unused-deps | |
tests: | |
name: Solana Integration tests | |
runs-on: large-runner | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup repo | |
uses: ./.github/actions/setup-solana-repo | |
- name: Cache Solana | |
uses: actions/cache@v4 | |
with: | |
path: ~/.cache/solana | |
key: solana-${{ env.SOLANA_VERSION }} | |
- name: Install Solana | |
run: | | |
curl -sSfL https://release.solana.com/${{ env.SOLANA_VERSION}}/install | sh | |
echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH | |
# Needed because test helpers use interdependencies | |
- name: Build programs | |
run: | | |
for program in programs/*; do | |
cargo build-sbf --manifest-path $program/Cargo.toml | |
done | |
- name: Run integration tests | |
run: cargo make test |