93a9db10b7
Attempt to fix the failing CI for the short term. The existing workflow file still works on my personal fork, but for some reason doesn't on the main project.
123 lines
3.8 KiB
YAML
123 lines
3.8 KiB
YAML
on:
|
|
push:
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
name: Continuous integration
|
|
|
|
jobs:
|
|
ubuntu-build:
|
|
name: Ubuntu
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Checkout submodules
|
|
run: git submodule update --init --recursive
|
|
- name: Cache CMake build directory
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
build
|
|
key: ${{ runner.os }}-cmake-build-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-cmake-build-
|
|
- name: Install dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y
|
|
libasound2-dev
|
|
libgl-dev
|
|
libglu1-mesa-dev
|
|
libgtk-3-dev
|
|
libjack-dev
|
|
libmad0-dev
|
|
libpulse-dev
|
|
libudev-dev
|
|
libusb-dev
|
|
libxinerama-dev
|
|
libx11-dev
|
|
libxrandr-dev
|
|
libxtst-dev
|
|
nasm
|
|
- name: Configure
|
|
run: cmake -B build -DWITH_FFMPEG_JOBS="$(nproc)"
|
|
- name: Build
|
|
run: cmake --build build --parallel "$(nproc)"
|
|
|
|
macos-build-arm64:
|
|
name: macOS (M1)
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Checkout submodules
|
|
run: git submodule update --init --recursive
|
|
- name: Cache CMake build directory
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
build
|
|
key: ${{ runner.os }}-${{ runner.arch }}-cmake-build-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ runner.arch }}-cmake-build-
|
|
- name: Install dependencies
|
|
run: brew install
|
|
nasm
|
|
- name: Configure
|
|
run: cmake -B build -DCMAKE_OSX_ARCHITECTURES=arm64 -DWITH_FFMPEG_JOBS="$(sysctl -n hw.logicalcpu)"
|
|
- name: Build
|
|
run: cmake --build build --parallel "$(sysctl -n hw.logicalcpu)"
|
|
|
|
macos-build-x86_64:
|
|
name: macOS (Intel)
|
|
runs-on: macos-13
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Checkout submodules
|
|
run: git submodule update --init --recursive
|
|
- name: Cache CMake build directory
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
build
|
|
key: ${{ runner.os }}-${{ runner.arch }}-cmake-build-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-${{ runner.arch }}-cmake-build-
|
|
- name: Install dependencies
|
|
run: brew install
|
|
nasm
|
|
- name: Configure
|
|
run: cmake -B build -DCMAKE_OSX_ARCHITECTURES=x86_64 -DWITH_FFMPEG_JOBS="$(sysctl -n hw.logicalcpu)"
|
|
- name: Build
|
|
run: cmake --build build --parallel "$(sysctl -n hw.logicalcpu)"
|
|
|
|
windows-build:
|
|
name: Windows
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Checkout submodules
|
|
run: git submodule update --init --recursive
|
|
- name: Setup MSBuild
|
|
uses: microsoft/setup-msbuild@v1
|
|
- name: Set up Visual Studio environment
|
|
run: |
|
|
$vsPath = &"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath
|
|
&"$vsPath\VC\Auxiliary\Build\vcvarsall.bat" x64
|
|
shell: pwsh
|
|
- name: Configure
|
|
run: cmake -B build -DWITH_FFMPEG_JOBS="$env:NUMBER_OF_PROCESSORS"
|
|
- name: Build
|
|
run: cmake --build build --parallel "$env:NUMBER_OF_PROCESSORS"
|
|
|
|
validate-xml-docs:
|
|
name: Validate Lua.xml, LuaDocumentation.xml
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install dependencies
|
|
run: sudo apt-get update && sudo apt-get install -y
|
|
libxml2-utils
|
|
- name: Validate Lua.xml
|
|
run: xmllint --noout Docs/Luadoc/Lua.xml
|
|
- name: Validate LuaDocumentation.xml
|
|
run: xmllint --noout Docs/Luadoc/LuaDocumentation.xml
|