Return an error in test scripts #20
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: Build and test hello-world program | |
on: [pull_request, push] | |
env: | |
SOLANA_ZIG_VERSION: v1.39 | |
SOLANA_ZIG_DIR: solana-zig | |
jobs: | |
unit-test: | |
name: Run helloworld unit tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
$SOLANA_ZIG_DIR | |
key: solana-zig-${{ hashFiles('./program-test/Cargo.lock') }}-$SOLANA_ZIG_VERSION | |
- name: Download solana-zig compiler | |
shell: bash | |
run: SOLANA_ZIG_VERSION=v1.39 ./sol/install-solana-zig.sh $SOLANA_ZIG_DIR | |
- name: Test program | |
shell: bash | |
run: | | |
for i in $(seq 1 5) | |
do | |
$ZIG build test --summary all --verbose && break || sleep 1 | |
if [[ $i == 5 ]]; then | |
exit 1 | |
fi | |
done | |
integration-test: | |
name: Run helloworld integration tests | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
~/.cargo/zig | |
$SOLANA_ZIG_DIR | |
key: solana-zig-${{ hashFiles('./program-test/Cargo.lock') }}-$SOLANA_ZIG_VERSION | |
- name: Download solana-zig compiler | |
shell: bash | |
run: SOLANA_ZIG_VERSION=v1.39 ./sol/install-solana-zig.sh $SOLANA_ZIG_DIR | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: 1.76.0 | |
- name: Install build deps | |
shell: bash | |
run: ./sol/program-test/install-build-deps.sh | |
- name: Build and test program | |
shell: bash | |
run: ./program-test/test.sh |