123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- name: Run Bolt Tests
- on:
- push:
- branches:
- - main
- pull_request_target:
- branches:
- - main
- env:
- solana_version: v1.18.15
- jobs:
- setup:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - uses: actions/cache@v4
- name: Cache Solana CLI
- id: cache-solana
- with:
- path: |
- ~/.cache/solana/
- ~/.local/share/solana/
- key: solana-${{ runner.os }}-v0000-${{ env.solana_version }}
- - uses: actions/setup-node@v4
- with:
- node-version: 21
- - name: Install Essentials
- run: |
- sudo apt-get update
- sudo apt-get install -y pkg-config build-essential libudev-dev
- npm install --global yarn
- - name: Cache Node Dependencies
- uses: actions/cache@v3
- with:
- path: '**/node_modules'
- key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
- - name: Install Node Modules
- run: |
- export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
- yarn install
- - name: Install Rust
- uses: dtolnay/rust-toolchain@stable
- with:
- toolchain: stable
- - name: Cache Rust
- uses: Swatinem/rust-cache@v2
- - name: Install Solana
- if: steps.cache-solana.outputs.cache-hit != 'true'
- run: |
- sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
- export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
- solana --version
- lint:
- needs: setup
- runs-on: ubuntu-latest
- strategy:
- matrix:
- task: [clippy, yarn]
- steps:
- - uses: actions/checkout@v4
- - name: Cache Rust
- uses: Swatinem/rust-cache@v2
- - name: Run Lint
- run: |
- if [ "${{ matrix.task }}" == "clippy" ]; then
- cargo fmt -- --check --verbose
- cargo clippy -- --deny=warnings
- else
- yarn lint
- fi
- test:
- needs: lint
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - name: Setup Environment
- run: |
- export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH"
- solana --version
- solana-keygen new --silent --no-bip39-passphrase
- - name: Set Deployment Keys
- run: |
- mkdir -p target/deploy
- echo ${{ secrets.WORLD }} > target/deploy/world-keypair.json
- echo ${{ secrets.BOLT_COMPONENT }} > target/deploy/bolt_component-keypair.json
- echo ${{ secrets.BOLT_SYSTEM }} > target/deploy/bolt_system-keypair.json
- echo ${{ secrets.COMPONENT_POSITION }} > target/deploy/component_position-keypair.json
- echo ${{ secrets.COMPONENT_VELOCITY }} > target/deploy/component_velocity-keypair.json
- echo ${{ secrets.SYSTEM_APPLY_VELOCITY }} > target/deploy/system_apply_velocity-keypair.json
- echo ${{ secrets.SYSTEM_FLY }} > target/deploy/system_fly-keypair.json
- echo ${{ secrets.SYSTEM_SIMPLE_MOVEMENT }} > target/deploy/system_simple_movement-keypair.json
- - name: Run Build and Tests
- run: |
- cargo install --path cli --force --locked
- bolt build
- cd clients/bolt-sdk
- yarn install && yarn build
- cd ../..
- bolt test
|