Skip to content

feat: add minimal framework for spec test #207

feat: add minimal framework for spec test

feat: add minimal framework for spec test #207

Workflow file for this run

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