Skip to content

Add GOG Galaxy paths to storefront_paths[] #395

Add GOG Galaxy paths to storefront_paths[]

Add GOG Galaxy paths to storefront_paths[] #395

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ "main" ]
tags-ignore: ['*']
paths-ignore: ['**.md']
pull_request:
branches: [ "main" ]
paths-ignore: ['**.md']
workflow_dispatch:
env:
VCPKG_BINARY_SOURCES: "clear;files,${{ github.workspace }}/vcpkg_cache,readwrite"
jobs:
build:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
defaults:
run:
shell: ${{ matrix.config.shell }}
strategy:
fail-fast: false
matrix:
config:
- name: Linux GCC
os: ubuntu-latest
compiler: gcc
shell: bash
extra-options: -DTARADINO_WARNINGS_AS_ERRORS=ON
- name: macOS Clang
os: macos-latest
compiler: clang
shell: bash
extra-options: -DTARADINO_WARNINGS_AS_ERRORS=ON
- name: MSYS2 UCRT64
os: windows-latest
compiler: gcc
shell: 'msys2 {0}'
msystem: ucrt64
msys-env: mingw-w64-ucrt-x86_64
extra-options: -DTARADINO_WARNINGS_AS_ERRORS=ON
- name: MSVC x64
os: windows-latest
compiler: cl
shell: pwsh
extra-options: >-
-A x64
-DCMAKE_TOOLCHAIN_FILE="${env:VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake"
-DVCPKG_TARGET_TRIPLET=x64-windows-static-release
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded
-DCMAKE_IGNORE_PATH="C:/Strawberry/perl/bin;C:/Strawberry/c/lib"
steps:
- name: Install dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install \
cmake \
libsdl2-dev \
libsdl2-mixer-dev
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew install \
sdl2 \
sdl2_mixer
- name: Install dependencies (MSYS2)
if: matrix.config.shell == 'msys2 {0}'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.config.msystem }}
update: false
install: >-
${{ matrix.config.msys-env }}-gcc
${{ matrix.config.msys-env }}-cmake
${{ matrix.config.msys-env }}-SDL2
${{ matrix.config.msys-env }}-SDL2_mixer
- uses: actions/checkout@v4
- name: Restore vcpkg cache
if: ${{ matrix.config.name == 'MSVC x64' }}
id: cache
uses: actions/cache/restore@v4
with:
path: ${{ github.workspace }}/vcpkg_cache
key: vcpkg-x64-windows-static-release
- name: Configure shareware executable
env:
CC: ${{ matrix.config.compiler }}
run: >-
cmake -B build-shareware
-DTARADINO_SHAREWARE=ON
-DTARADINO_SUFFIX=shareware
${{ matrix.config.extra-options }}
- name: Configure registered executable
env:
CC: ${{ matrix.config.compiler }}
run: >-
cmake -B build-registered
-DTARADINO_SHAREWARE=OFF
${{ matrix.config.extra-options }}
# Delete the old cache on hit to emulate a cache update.
- name: Delete old cache
if: steps.cache.outputs.cache-hit
continue-on-error: true
env:
GH_TOKEN: ${{ github.token }}
run: gh cache delete --repo ${{ github.repository }} ${{ steps.cache.outputs.cache-primary-key }}
- name: Save cache
if: ${{ matrix.config.name == 'MSVC x64' }}
uses: actions/cache/save@v4
with:
path: ${{ github.workspace }}/vcpkg_cache
key: ${{ steps.cache.outputs.cache-primary-key }}
- name: Build shareware executable
run: cmake --build build-shareware --config Release
- name: Install shareware executable
if: ${{ matrix.config.name == 'MSVC x64' }}
run: |
cd build-shareware
cpack
- name: Build registered executable
run: cmake --build build-registered --config Release
- name: Install registered executable
if: ${{ matrix.config.name == 'MSVC x64' }}
run: |
cd build-registered
cpack
- name: Upload Artifacts
uses: actions/upload-artifact@v4
if: ${{ matrix.config.name == 'MSVC x64' }}
with:
name: taradino-${{ github.sha }}-win64
path: |
build-shareware/*.zip
build-registered/*.zip
cppcheck:
name: Cppcheck
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install cppcheck
- uses: actions/checkout@v4
- name: Run cppcheck
shell: bash
run: |
cppcheck --version
cppcheck --error-exitcode=1 -j4 -q --force -U_WIN32 -U__APPLE__ -Irott rott