Skip to content

Support Zig 0.14

Support Zig 0.14 #71

Workflow file for this run

name: Build library and test programs
on: [pull_request, push]
env:
SOLANA_ZIG_VERSION: v1.47.0
SOLANA_ZIG_DIR: solana-zig
jobs:
library:
name: Build and test library
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-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-$SOLANA_ZIG_VERSION
- name: Download solana-zig compiler
shell: bash
run: ./install-solana-zig.sh $SOLANA_ZIG_DIR
- name: Test library
shell: bash
run: |
$SOLANA_ZIG_DIR/zig build test --summary all
programs:
name: Build and test programs
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-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
$SOLANA_ZIG_DIR
key: solana-zig-${{ hashFiles('./program-test/Cargo.lock') }}-$SOLANA_ZIG_VERSION
- name: Download solana-zig compiler
shell: bash
run: ./install-solana-zig.sh $SOLANA_ZIG_DIR
- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: 1.84.1
- name: Install build deps
shell: bash
run: ./program-test/install-build-deps.sh
# took the workaround from https://github.com/sfackler/rust-openssl/issues/2149
- name: Setup openssl on Windows
if: runner.os == 'Windows'
shell: bash
run: |
echo "PERL=$(which perl)" >> $GITHUB_ENV
echo "OPENSSL_SRC_PERL=$(which perl)" >> $GITHUB_ENV
choco install openssl --version 3.4.1 --install-arguments="'/DIR=C:\OpenSSL'" -y
echo "OPENSSL_LIB_DIR=C:\OpenSSL\lib\VC\x64\MT" >> $GITHUB_ENV
echo "OPENSSL_INCLUDE_DIR=C:\OpenSSL\include" >> $GITHUB_ENV
- name: Build and test program
shell: bash
run: ./program-test/test.sh