mirror of
https://github.com/scp-fs2open/fs2open.github.com.git
synced 2026-11-13 06:21:29 -10:00
99 lines
3.1 KiB
YAML
99 lines
3.1 KiB
YAML
name: Build caches for master
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build_linux:
|
|
strategy:
|
|
matrix:
|
|
configuration: [Debug, Release]
|
|
compiler: [gcc-9, gcc-13, clang-16]
|
|
arch: [x86_64]
|
|
cmake_options: [""]
|
|
include:
|
|
# Also include configurations that check if the code compiles without the graphics backends
|
|
- configuration: Debug
|
|
compiler: gcc-13
|
|
cmake_options: -DFSO_BUILD_WITH_OPENGL=OFF -DFSO_BUILD_WITH_VULKAN=OFF
|
|
- configuration: Release
|
|
compiler: gcc-13
|
|
cmake_options: -DFSO_BUILD_WITH_OPENGL=OFF -DFSO_BUILD_WITH_VULKAN=OFF
|
|
name: Linux
|
|
runs-on: ubuntu-latest
|
|
container: ghcr.io/scp-fs2open/linux_build:sha-ab87451
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
name: Checkout
|
|
with:
|
|
submodules: true
|
|
- name: Set workspace as safe
|
|
# This appears to be broken in current actions, so do it manually
|
|
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
- name: ccache
|
|
uses: hendrikmuhs/[email protected]
|
|
with:
|
|
key: ${{ runner.os }}-${{ matrix.configuration }}-${{ matrix.compiler }}-${{ matrix.arch }}
|
|
max-size: 750MB
|
|
- name: Configure ccache
|
|
run: |
|
|
ccache --set-config=sloppiness=pch_defines,time_macros
|
|
ccache -p
|
|
|
|
- name: Configure CMake
|
|
env:
|
|
CONFIGURATION: ${{ matrix.configuration }}
|
|
COMPILER: ${{ matrix.compiler }}
|
|
JOB_CMAKE_OPTIONS: ${{ matrix.cmake_options }}
|
|
CCACHE_PATH: /usr/local/bin/ccache
|
|
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
|
- name: Compile
|
|
working-directory: ./build
|
|
run: ninja -k 20 all
|
|
- name: Show CCache statistics
|
|
run: ccache --show-stats
|
|
|
|
|
|
build_mac:
|
|
strategy:
|
|
matrix:
|
|
configuration: [Debug, Release]
|
|
compiler: [clang]
|
|
arch: [x86_64, arm64]
|
|
cmake_options: [""]
|
|
name: Mac
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v7
|
|
name: Checkout
|
|
with:
|
|
submodules: true
|
|
- name: Set workspace as safe
|
|
# This appears to be broken in current actions, so do it manually
|
|
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
|
- name: ccache
|
|
uses: hendrikmuhs/[email protected]
|
|
with:
|
|
key: ${{ runner.os }}-${{ matrix.configuration }}-${{ matrix.arch }}
|
|
max-size: 750MB
|
|
- name: Configure ccache
|
|
run: |
|
|
ccache --set-config=sloppiness=pch_defines,time_macros
|
|
ccache -p
|
|
|
|
- name: Configure CMake
|
|
env:
|
|
CONFIGURATION: ${{ matrix.configuration }}
|
|
COMPILER: ${{ matrix.compiler }}
|
|
ARCHITECTURE: ${{ matrix.arch }}
|
|
JOB_CMAKE_OPTIONS: ${{ matrix.cmake_options }}
|
|
CCACHE_PATH: /usr/local/bin/ccache
|
|
run: $GITHUB_WORKSPACE/ci/linux/configure_cmake.sh
|
|
- name: Compile
|
|
working-directory: ./build
|
|
run: ninja -k 20 all
|
|
- name: Show CCache statistics
|
|
run: ccache --show-stats
|