Skip to content

Merge pull request #9 from cgbur/latest-zig #102

Merge pull request #9 from cgbur/latest-zig

Merge pull request #9 from cgbur/latest-zig #102

Workflow file for this run

name: CI
on:
push:
tags:
- "*"
branches:
- main
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: goto-bus-stop/setup-zig@v2
- run: zig build test
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: goto-bus-stop/setup-zig@v2
- run: zig fmt --check src/*.zig
cli-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: goto-bus-stop/setup-zig@v2
- run: zig build
- run: PATH=$PATH:zig-out/bin python3 run-tests.py
build:
needs: [test, lint, cli-test]
if: startsWith(github.ref, 'refs/tags/v')
strategy:
fail-fast: false
matrix:
target:
[
x86_64-linux,
aarch64-linux,
riscv64-linux,
x86_64-windows,
aarch64-macos,
]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v2
with:
version: master
- name: Build
run: zig build -Doptimize=ReleaseSafe -Dtarget=${{ matrix.target }}
- name: Rename
# rename everything in the directory to have a matrix target prefix for uploading later
run: |
for f in zig-out/bin/*; do
mv "$f" "zig-out/bin/${{ matrix.target }}-$(basename "$f")"
done
- name: Archive executable
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.target }}-pc
path: zig-out/bin/*
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download Artifacts
uses: actions/download-artifact@v2
with:
path: artifacts
- name: Display structure of downloaded files
run: ls -R
working-directory: artifacts
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: artifacts/**/*