Skip to content

Merge pull request #59 from fabiangreffrath/wall_shareware #143

Merge pull request #59 from fabiangreffrath/wall_shareware

Merge pull request #59 from fabiangreffrath/wall_shareware #143

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ "main" ]
tags-ignore: ['*']
paths-ignore: ['**.md']
pull_request:
branches: [ "main" ]
paths-ignore: ['**.md']
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,
}
- {
name: macOS Clang,
os: macos-latest,
compiler: clang,
shell: bash,
}
- {
name: MSYS2 UCRT64,
os: windows-latest,
compiler: gcc,
shell: 'msys2 {0}',
msystem: ucrt64,
msys-env: mingw-w64-ucrt-x86_64,
}
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'
env:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
run: |
brew update || true
brew install \
cmake \
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@v3
- name: Build shareware executable
env:
CC: ${{ matrix.config.compiler }}
CFLAGS: -Wall
run: |
cmake -E make_directory cmake-build
cmake -S . -B cmake-build --fresh -DTARADINO_SHAREWARE=ON -DTARADINO_WERROR=ON -DTARADINO_SUFFIX=shareware
cmake --build cmake-build --config Release
- name: Build registered executable
env:
CC: ${{ matrix.config.compiler }}
CFLAGS: -Wall
run: |
cmake -E make_directory cmake-build
cmake -S . -B cmake-build --fresh -DTARADINO_SHAREWARE=OFF -DTARADINO_WERROR=ON -UTARADINO_SUFFIX
cmake --build cmake-build --config Release
- name: Upload artifacts (Windows)
uses: actions/upload-artifact@v3
if: runner.os == 'Windows'
with:
name: taradino-${{ github.sha }}-win64
path: |
cmake-build/taradino.exe
cmake-build/taradino_shareware.exe
- name: Upload artifacts (Linux)
uses: actions/upload-artifact@v3
if: runner.os == 'Linux'
with:
name: taradino-${{ github.sha }}-Linux
path: |
cmake-build/taradino
cmake-build/taradino_shareware
- name: Upload artifacts (macOS)
uses: actions/upload-artifact@v3
if: runner.os == 'macOS'
with:
name: taradino-${{ github.sha }}-macOS
path: |
cmake-build/taradino
cmake-build/taradino_shareware
cppcheck:
name: Cppcheck
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install cppcheck
- uses: actions/checkout@v3
- name: Run cppcheck
shell: bash
run: |
cppcheck --version
cppcheck --error-exitcode=1 -j4 -q --force -U_WIN32 -U__APPLE__ -Irott rott