Skip to content

Implement Maniacs Command 3009: ControlBattle #1532

Implement Maniacs Command 3009: ControlBattle

Implement Maniacs Command 3009: ControlBattle #1532

name: Stable Compilation
on:
push:
pull_request:
workflow_dispatch:
inputs:
git-ref:
description: Git Ref (Optional)
required: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
defaults:
run:
shell: bash
jobs:
docker:
name: ${{ matrix.image }}
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
strategy:
fail-fast: false
matrix:
image:
# version of: # CMake | g++ | SDL | support end #
# -------------------------------------------------------------
- ubuntu:20.04 # 3.16.3 | 9.3.0 | 2.0.10 | LTS (4/25) #
- debian:11 # 3.18.4 | 10.2.1 | 2.0.14 | oldstable (8/24) #
- ubuntu:22.04 # 3.22.1 | 11.2.0 | 2.0.20 | LTS (6/27) #
- debian:12 # 3.25.1 | 12.2.0 | 2.26.5 | stable (6/26) #
steps:
- name: Install dependencies
run: |
export DEBIAN_FRONTEND="noninteractive"
apt-get update
apt-get install -yqq --no-install-recommends --no-install-suggests \
ca-certificates build-essential cmake ninja-build git \
libicu-dev libexpat1-dev libinih-dev nlohmann-json3-dev \
libsdl2-dev libpng-dev libpixman-1-dev libfmt-dev \
libfreetype6-dev libharfbuzz-dev libmpg123-dev libsndfile-dev \
libvorbis-dev libopusfile-dev libspeexdsp-dev \
libdrm-dev libgbm-dev # only needed for sdl2 on debian 11
- name: Clone Repository
uses: actions/checkout@v4
if: github.event.inputs.git-ref == ''
- name: Clone Repository (with custom ref)
uses: actions/checkout@v4
if: github.event.inputs.git-ref != ''
with:
ref: ${{ github.event.inputs.git-ref }}
- name: Use gcc problem matcher
run: echo "::add-matcher::.github/gcc_comment_matcher.json"
- name: Compile
run: |
VER="(GA, `date +%Y-%m-%d`)"
cmake -G Ninja -B build . \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \
-DPLAYER_BUILD_LIBLCF=ON -DPLAYER_VERSION_APPEND="$VER"
cmake --build build
- name: Install
run: |
cmake --install build
- name: Test
run: |
# make sure executable runs
build/easyrpg-player --version
# run unit tests
cmake --build build --target check