Skip to content

refactor: redesign zero-copy types to make them simpler, faster and less-error prone #410

refactor: redesign zero-copy types to make them simpler, faster and less-error prone

refactor: redesign zero-copy types to make them simpler, faster and less-error prone #410

Workflow file for this run

name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ "**" ]
jobs:
api-tests:
name: "API tests"
runs-on: ubuntu-latest
defaults:
run:
working-directory: api
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: yarn
cache-dependency-path: api/yarn.lock
- name: Install API dependencies
run: yarn install --frozen-lockfile
- name: Run API tests
run: yarn test
test-sbf:
name: "cargo test-sbf (features: logging)"
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
SOLANA_VERSION: 3.1.5
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Rust from rust-toolchain.toml
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Cache target directory
uses: actions/cache@v4
with:
path: |
target
key: ${{ runner.os }}-target-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-target-
- name: Install Solana CLI ${{ env.SOLANA_VERSION }}
shell: bash
run: |
curl -sSfL https://release.anza.xyz/v${SOLANA_VERSION}/install | sh -s - v${SOLANA_VERSION}
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
solana --version
- name: Show environment
run: |
rustc -Vv
cargo -V
solana --version
- name: Run SBF tests with logging feature
run: |
cargo test-sbf --features logging
- name: Upload test logs on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: sbf-test-logs
path: |
target/sbf-tests
target/**/*.log
**/test-*.log
if-no-files-found: ignore