Generate distribution archives with git #183
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 \ | |
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: 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 |