Skip to content

CI

CI #10

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
- cron: '0 18 1 * *'
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install g++-multilib scons
- name: Build
run: ./build
- name: Test
run: ./test
linux-asan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install g++ scons
- name: Build
run: ./build arch=x64 sanitize=address
- name: Test
run: ./out/ReleaseASanX64/primordialsoup out/snapshots/TestRunner.vfuel
env:
ASAN_OPTIONS: halt_on_error=1
linux-msan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install clang scons
- name: Build
run: ./build arch=x64 sanitize=memory cxx_host=clang++
- name: Test
run: ./out/ReleaseMSanX64/primordialsoup out/snapshots/TestRunner.vfuel
env:
MSAN_OPTIONS: halt_on_error=1
linux-tsan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install g++ scons
- name: Build
run: ./build arch=x64 sanitize=thread
- name: Test
run: ./out/ReleaseTSanX64/primordialsoup out/snapshots/TestRunner.vfuel
env:
TSAN_OPTIONS: halt_on_error=1
linux-ubsan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install g++ scons
- name: Build
run: ./build arch=x64 sanitize=undefined
- name: Test
run: ./out/ReleaseUBSanX64/primordialsoup out/snapshots/TestRunner.vfuel
env:
UBSAN_OPTIONS: halt_on_error=1
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install scons
- name: Build
run: ./build
- name: Test
run: ./test
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: pip install scons
- name: Build
run: build.bat
shell: cmd
- name: Test
run: test.bat
shell: cmd
android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install g++-multilib scons
- name: Build
run: ./build ndk=$ANDROID_NDK
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Test
uses: reactivecircus/android-emulator-runner@v2
with:
arch: x86_64
api-level: 28
script: ./.github/workflows/test-android-x64
web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install g++ scons
- name: Install Emscripten
uses: mymindstorm/setup-emsdk@v14
- name: Build
run: ./build os=emscripten arch=wasm
- name: Test
run: ./.github/workflows/test-web-xvfb