12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- name: Run Bolt Lint
- on:
- push:
- branches:
- - main
- pull_request:
- branches:
- - main
- env:
- solana_version: v1.18.15
- jobs:
- setup:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- - 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 Rust
- uses: dtolnay/rust-toolchain@stable
- with:
- toolchain: stable
- - name: Cache Rust
- uses: Swatinem/rust-cache@v2
- - name: Install Solana
- run: |
- sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
- export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
- echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
- solana --version
- lint:
- needs: setup
- runs-on: ubuntu-latest
- strategy:
- matrix:
- task: [clippy, yarn]
- steps:
- - uses: actions/checkout@v4
- - name: Install node modules
- run: |
- yarn --frozen-lockfile --network-concurrency 2
- - 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 --allow=unexpected_cfgs
- else
- yarn lint
- fi
|