|
@@ -26,11 +26,20 @@ jobs:
|
|
sudo apt-get install -y pkg-config build-essential libudev-dev
|
|
sudo apt-get install -y pkg-config build-essential libudev-dev
|
|
npm install --global yarn
|
|
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
|
|
- name: Install Rust
|
|
uses: dtolnay/rust-toolchain@stable
|
|
uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
with:
|
|
toolchain: stable
|
|
toolchain: stable
|
|
|
|
|
|
|
|
+ - name: Cache Rust
|
|
|
|
+ uses: Swatinem/rust-cache@v2
|
|
|
|
+
|
|
- name: Install Solana
|
|
- name: Install Solana
|
|
run: |
|
|
run: |
|
|
sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
|
|
sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
|
|
@@ -38,29 +47,8 @@ jobs:
|
|
echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
|
|
echo "$HOME/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH
|
|
solana --version
|
|
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: Run Lint
|
|
|
|
- run: |
|
|
|
|
- if [ "${{ matrix.task }}" == "clippy" ]; then
|
|
|
|
- cargo fmt -- --check --verbose
|
|
|
|
- cargo clippy -- --deny=warnings
|
|
|
|
- else
|
|
|
|
- yarn lint
|
|
|
|
- fi
|
|
|
|
-
|
|
|
|
test:
|
|
test:
|
|
- needs: lint
|
|
|
|
|
|
+ needs: setup
|
|
runs-on: ubuntu-latest
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/checkout@v4
|
|
@@ -70,6 +58,9 @@ jobs:
|
|
with:
|
|
with:
|
|
toolchain: stable
|
|
toolchain: stable
|
|
|
|
|
|
|
|
+ - name: Cache Rust
|
|
|
|
+ uses: Swatinem/rust-cache@v2
|
|
|
|
+
|
|
- name: Install Solana
|
|
- name: Install Solana
|
|
run: |
|
|
run: |
|
|
sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
|
|
sh -c "$(curl -sSfL https://release.solana.com/${{ env.solana_version }}/install)"
|