fix: support multi-threaded RefCount #217
This file contains hidden or 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: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-ci | |
cancel-in-progress: true | |
env: | |
ZIG_VERSION: "0.14.0" | |
jobs: | |
zbuild: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup Zig | |
uses: mlugg/setup-zig@v1 | |
with: | |
version: "0.14.0" | |
- name: Install zbuild | |
run: | | |
git clone https://github.com/ChainSafe/zbuild.git | |
cd zbuild | |
zig build -Doptimize=ReleaseFast | |
sudo cp zig-out/bin/zbuild /usr/local/bin/zbuild | |
- name: Verify zbuild | |
run: zbuild version | |
- name: Check if build.zig is sync'ed with zbuild.zon | |
run: | | |
zbuild sync | |
git diff --exit-code | |
build-test: | |
name: build & test (${{ matrix.os }}) | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- ubuntu-24.04-arm | |
- macos-latest | |
# - macos-13 # skip because hashtree does not support macos x64 yet | |
# - windows-latest # TODO: https://github.com/ChainSafe/state-transition-z/issues/10 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Install Zig | |
uses: mlugg/setup-zig@v2 | |
with: | |
version: ${{ env.ZIG_VERSION }} | |
cache-key: ${{ matrix.os }}-${{ env.ZIG_VERSION }} | |
# Zig fmt is failing on windows and is redundant to run all platforms. So we run only on linux. | |
- name: Check formatting | |
if: matrix.os == 'ubuntu-latest' | |
run: zig fmt --check . | |
- name: Run hex tests | |
run: | | |
zig build test:hex | |
- name: Run config tests | |
run: | | |
zig build test:config | |
- name: Run consensus-type tests | |
run: | | |
zig build test:consensus_types | |
- name: Run preset tests | |
run: | | |
zig build test:preset | |
- name: Run state-transition tests | |
run: | | |
zig build test:state_transition | |
- name: Run Int Tests | |
run: | | |
zig build test:int |