You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

106 lines
2.1 KiB
YAML

name: ci
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: "0 7 * * *"
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [
windows-latest,
macos-latest,
]
mode: [
debug,
release-safe,
release-fast,
release-small,
]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
fetch-depth: 0
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v1.3.0
with:
version: master
- name: Build and Test Debug
if: ${{ matrix.mode == 'debug' }}
run: zig build test
- name: Build and Test Release
if: ${{ matrix.mode != 'debug' }}
run: zig build test -D${{ matrix.mode }}
crosscompile-from-windows:
runs-on: windows-latest
strategy:
matrix:
target: [
#riscv64-linux-gnu,
#riscv64-linux-musl,
aarch64-linux-gnu,
aarch64-linux-musl,
aarch64-macos,
i386-linux-gnu,
i386-linux-musl,
x86_64-linux-gnu,
x86_64-linux-musl,
x86_64-macos,
]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
fetch-depth: 0
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v1.3.0
with:
version: master
- name: Build
run: zig build
crosscompile-from-macos:
runs-on: macos-latest
strategy:
matrix:
target: [
#riscv64-linux-gnu,
#riscv64-linux-musl,
aarch64-linux-gnu,
aarch64-linux-musl,
i386-linux-gnu,
i386-linux-musl,
i386-windows,
x86_64-linux-gnu,
x86_64-linux-musl,
x86_64-windows-gnu,
]
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
fetch-depth: 0
- name: Setup Zig
uses: goto-bus-stop/setup-zig@v1.3.0
with:
version: master
- name: Build
run: zig build