Skip to content

Toggle to make attackers face fuzzy targets straight #526

Toggle to make attackers face fuzzy targets straight

Toggle to make attackers face fuzzy targets straight #526

Workflow file for this run

name: Continuous Integration
on:
push:
branches: [ master ]
tags: ['*']
paths-ignore: ['**.md']
pull_request:
branches: [ master ]
paths-ignore: ['**.md']
workflow_dispatch:
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 \
ninja-build \
libsdl2-dev \
libsdl2-net-dev \
libopenal-dev \
libsndfile1-dev \
libfluidsynth-dev \
libxmp-dev
sudo sed -e 's/jammy/lunar/g;s/22/23/g' -i /etc/apt/sources.list /etc/apt/sources.list.d/*
sudo apt-get update
sudo apt-get install \
libflac-dev \
libsndfile1-dev
- name: Install dependencies (macOS)
if: runner.os == 'macOS'
run: |
brew install \
ninja \
sdl2 \
sdl2_net \
openal-soft \
libsndfile \
fluid-synth \
libxmp
- name: Install dependencies (MSYS2)
if: matrix.config.shell == 'msys2 {0}'
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.config.msystem }}
update: false
install: >-
diffutils
${{ matrix.config.msys-env }}-python-pip
${{ matrix.config.msys-env }}-gcc
${{ matrix.config.msys-env }}-cmake
${{ matrix.config.msys-env }}-ninja
${{ matrix.config.msys-env }}-SDL2
${{ matrix.config.msys-env }}-SDL2_net
${{ matrix.config.msys-env }}-openal
${{ matrix.config.msys-env }}-libsndfile
${{ matrix.config.msys-env }}-fluidsynth
${{ matrix.config.msys-env }}-libxmp
- uses: actions/checkout@v4
- name: Configure
env:
CC: ${{ matrix.config.compiler }}
run: |
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_WERROR=ON -DENABLE_HARDENING=ON -DENABLE_LTO=ON
- name: Build
run: cmake --build build
- name: Test
if: github.event_name == 'workflow_dispatch'
run: |
cd demotest
pip install pyyaml joblib
python3 demotest --jobs 4 --port ../build/src/nugget-doom
- name: Install
run: |
cd build
cpack
- name: Upload AppImage
if: runner.os == 'Linux'
uses: actions/upload-artifact@v4
with:
name: NuggetDoom-AppImage
path: build/*.appimage
- name: Extract Version Number
if: ${{ contains(github.ref, 'tags') && runner.os == 'Linux' }}
shell: bash
run: echo "VERSION=${GITHUB_REF##*_}" >> $GITHUB_ENV
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 -D__GNUC__ -U_MSC_VER -U_WIN32 -Isrc opl src setup textscreen