Skip to content

Document Code

Document Code #13

Workflow file for this run

name: ci
on:
push:
branches: [ master ]
pull_request:
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: windows-2022
arch: x64
gen_short_name: "vs17_2022"
gen_cmake_name: "Visual Studio 17 2022"
- os: windows-2022
arch: Win32
gen_short_name: "vs17_2022"
gen_cmake_name: "Visual Studio 17 2022"
- os: ubuntu-22.04
arch: x64
cc: gcc
cxx: g++
pkgs: gcc
- os: ubuntu-22.04
arch: x32
cc: gcc
cxx: g++
pkgs: gcc-multilib g++-multilib
flags: "-m32"
- os: macos-12
arch: x86_64
gen: Xcode
- os: macos-12
arch: arm64
gen: Xcode
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Deps (Linux)
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install ${{ matrix.pkgs }} cmake ninja-build -y
- name: Generate Build Files & Build (Linux)
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
export CC=${{ matrix.cc }}
export CXX=${{ matrix.cxx }}
export CXXFLAGS=${{ matrix.flags }}
export CFLAGS=${{ matrix.flags }}
export LDFLAGS=${{ matrix.flags }}
make all GENERATOR=Ninja BUILD_TYPE=Release NUM_JOBS=4
- name: Generate Build Files & Build (Windows)
if: ${{ matrix.os == 'windows-2022' }}
run: |
make all GENERATOR="${{ matrix.gen_cmake_name }}" BUILD_TYPE=Release NUM_JOBS=4 CMAKE_GEN_FLAGS='-A "${{ matrix.arch }}" -T "ClangCL"'
- name: Generate Build Files, Build & Zip (MacOS)
if: ${{ matrix.os == 'macos-12' }}
run: |
make all GENERATOR="${{ matrix.gen }}" BUILD_TYPE=Release NUM_JOBS=4 CMAKE_GEN_FLAGS='-DBUILD_APPLE_BUNDLE=ON -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }}'
- name: Upload Artifacts (Linux)
if: ${{ matrix.os == 'ubuntu-22.04' }}
uses: actions/upload-artifact@v3
with:
name: linux-${{ matrix.arch }}
if-no-files-found: error
path: ./build/
- name: Upload artifacts (Windows)
uses: actions/upload-artifact@v3
if: ${{ matrix.os == 'windows-2022' }}
with:
name: win-${{ matrix.arch }}
if-no-files-found: error
path: ./build/
- name: Upload Artifacts (MacOS)
uses: actions/upload-artifact@v3
if: ${{ matrix.os == 'macos-12' }}
with:
name: osx-${{ matrix.arch }}
if-no-files-found: error
path: ./build/