Update core:image
tests to use new runner.
#53
Workflow file for this run
This file contains 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, pull_request, workflow_dispatch] | |
jobs: | |
build_netbsd: | |
name: NetBSD Build, Check, and Test | |
runs-on: ubuntu-latest | |
env: | |
PKGSRC_BRANCH: 2024Q1 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build, Check, and Test | |
timeout-minutes: 25 | |
uses: vmactions/netbsd-vm@v1 | |
with: | |
release: "10.0" | |
envs: PKGSRC_BRANCH | |
usesh: true | |
copyback: false | |
prepare: | | |
PKG_PATH="https://cdn.NetBSD.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r | cut -d_ -f1)_${PKGSRC_BRANCH}/All" /usr/sbin/pkg_add pkgin | |
pkgin -y in gmake git bash python311 | |
pkgin -y in libxml2 perl zstd | |
/usr/sbin/pkg_add https://github.com/andreas-jonsson/llvm17-netbsd-bin/releases/download/pkgsrc-current/llvm-17.0.6.tgz | |
/usr/sbin/pkg_add https://github.com/andreas-jonsson/llvm17-netbsd-bin/releases/download/pkgsrc-current/clang-17.0.6.tgz | |
ln -s /usr/pkg/bin/python3.11 /usr/bin/python3 | |
ln -s /usr/pkg/bin/bash /bin/bash | |
run: | | |
git config --global --add safe.directory $(pwd) | |
gmake release | |
./odin version | |
./odin report | |
./odin check examples/all -vet -strict-style -target:netbsd_amd64 | |
(cd tests/core; gmake all_bsd) | |
(cd tests/internal; gmake all_bsd) | |
(cd tests/issues; ./run.sh) | |
build_linux: | |
name: Ubuntu Build, Check, and Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Download LLVM | |
run: | | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x llvm.sh | |
sudo ./llvm.sh 17 | |
echo "/usr/lib/llvm-17/bin" >> $GITHUB_PATH | |
- name: build odin | |
run: ./build_odin.sh release | |
- name: Odin version | |
run: ./odin version | |
timeout-minutes: 1 | |
- name: Odin report | |
run: ./odin report | |
timeout-minutes: 1 | |
- name: Odin check | |
run: ./odin check examples/demo -vet | |
timeout-minutes: 10 | |
- name: Odin run | |
run: ./odin run examples/demo | |
timeout-minutes: 10 | |
- name: Odin run -debug | |
run: ./odin run examples/demo -debug | |
timeout-minutes: 10 | |
- name: Odin check examples/all | |
run: ./odin check examples/all -strict-style | |
timeout-minutes: 10 | |
- name: Core library tests | |
run: | | |
cd tests/core | |
make | |
timeout-minutes: 10 | |
- name: Vendor library tests | |
run: | | |
cd tests/vendor | |
make | |
timeout-minutes: 10 | |
- name: Odin internals tests | |
run: | | |
cd tests/internal | |
make | |
timeout-minutes: 10 | |
- name: Odin check examples/all for Linux i386 | |
run: ./odin check examples/all -vet -strict-style -target:linux_i386 | |
timeout-minutes: 10 | |
- name: Odin check examples/all for Linux arm64 | |
run: ./odin check examples/all -vet -strict-style -target:linux_arm64 | |
timeout-minutes: 10 | |
- name: Odin check examples/all for FreeBSD amd64 | |
run: ./odin check examples/all -vet -strict-style -target:freebsd_amd64 | |
timeout-minutes: 10 | |
- name: Odin check examples/all for OpenBSD amd64 | |
run: ./odin check examples/all -vet -strict-style -target:openbsd_amd64 | |
timeout-minutes: 10 | |
build_macOS: | |
name: MacOS Build, Check, and Test | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Download LLVM, and setup PATH | |
run: | | |
brew install llvm@17 | |
echo "/usr/local/opt/llvm@17/bin" >> $GITHUB_PATH | |
- name: build odin | |
run: ./build_odin.sh release | |
- name: Odin version | |
run: ./odin version | |
timeout-minutes: 1 | |
- name: Odin report | |
run: ./odin report | |
timeout-minutes: 1 | |
- name: Odin check | |
run: ./odin check examples/demo -vet | |
timeout-minutes: 10 | |
- name: Odin run | |
run: ./odin run examples/demo | |
timeout-minutes: 10 | |
- name: Odin run -debug | |
run: ./odin run examples/demo -debug | |
timeout-minutes: 10 | |
- name: Odin check examples/all | |
run: ./odin check examples/all -strict-style | |
timeout-minutes: 10 | |
- name: Core library tests | |
run: | | |
cd tests/core | |
make | |
timeout-minutes: 10 | |
- name: Odin internals tests | |
run: | | |
cd tests/internal | |
make | |
timeout-minutes: 10 | |
build_macOS_arm: | |
name: MacOS ARM Build, Check, and Test | |
runs-on: macos-14 # This is an arm/m1 runner. | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Download LLVM and setup PATH | |
run: | | |
brew install llvm@17 | |
echo "/opt/homebrew/opt/llvm@17/bin" >> $GITHUB_PATH | |
- name: build odin | |
run: ./build_odin.sh release | |
- name: Odin version | |
run: ./odin version | |
timeout-minutes: 1 | |
- name: Odin report | |
run: ./odin report | |
timeout-minutes: 1 | |
- name: Odin check | |
run: ./odin check examples/demo -vet | |
timeout-minutes: 10 | |
- name: Odin run | |
run: ./odin run examples/demo | |
timeout-minutes: 10 | |
- name: Odin run -debug | |
run: ./odin run examples/demo -debug | |
timeout-minutes: 10 | |
- name: Odin check examples/all | |
run: ./odin check examples/all -strict-style | |
timeout-minutes: 10 | |
- name: Core library tests | |
run: | | |
cd tests/core | |
make | |
timeout-minutes: 10 | |
- name: Odin internals tests | |
run: | | |
cd tests/internal | |
make | |
timeout-minutes: 10 | |
build_windows: | |
name: Windows Build, Check, and Test | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: build Odin | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
./build.bat 1 | |
- name: Odin version | |
run: ./odin version | |
timeout-minutes: 1 | |
- name: Odin report | |
run: ./odin report | |
timeout-minutes: 1 | |
- name: Odin check | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
odin check examples/demo -vet | |
timeout-minutes: 10 | |
- name: Odin run | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
odin run examples/demo | |
timeout-minutes: 10 | |
- name: Odin run -debug | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
odin run examples/demo -debug | |
timeout-minutes: 10 | |
- name: Odin check examples/all | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
odin check examples/all -strict-style | |
timeout-minutes: 10 | |
- name: Core library tests | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
cd tests\core | |
call build.bat | |
timeout-minutes: 10 | |
- name: Vendor library tests | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
cd tests\vendor | |
call build.bat | |
timeout-minutes: 10 | |
- name: Odin internals tests | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
cd tests\internal | |
call build.bat | |
timeout-minutes: 10 | |
- name: Odin documentation tests | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
cd tests\documentation | |
call build.bat | |
timeout-minutes: 10 | |
- name: core:math/big tests | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
cd tests\core\math\big | |
call build.bat | |
timeout-minutes: 10 | |
- name: Odin check examples/all for Windows 32bits | |
shell: cmd | |
run: | | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat | |
odin check examples/all -strict-style -target:windows_i386 | |
timeout-minutes: 10 |