Try random things so the GitHub release workflow will show a commits … #978
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: Build | |
on: | |
push: | |
branches: [master] | |
pull_request: {} | |
merge_group: {} | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- name: Windows MSYS2 x86_64 GCC | |
os: windows-latest | |
shell: 'msys2 {0}' | |
sys: mingw64 | |
env: x86_64 | |
make: make | |
opt: SDLCONFIG= | |
publish-as: win64 | |
- name: Windows MSYS2 i686 GCC | |
os: windows-latest | |
shell: 'msys2 {0}' | |
sys: mingw32 | |
env: i686 | |
make: make | |
opt: SDLCONFIG= | |
pkg: nasm | |
publish-as: win32 | |
- name: Windows MSYS2 x86_64 GCC without SDL | |
os: windows-latest | |
shell: 'msys2 {0}' | |
sys: mingw64 | |
env: x86_64 | |
make: make | |
opt: RENDERTYPE=WIN | |
- name: Linux GCC | |
os: ubuntu-latest | |
shell: bash | |
pkg: libsdl2-dev | |
make: make | |
- name: Linux GCC SDL 1.2 | |
os: ubuntu-latest | |
shell: bash | |
pkg: libsdl1.2-dev | |
opt: SDL_TARGET=1 | |
make: make | |
- name: Linux Clang | |
os: ubuntu-latest | |
shell: bash | |
pkg: libsdl2-dev clang | |
opt: CLANG=1 | |
make: make | |
- name: Linux Clang without GL | |
os: ubuntu-latest | |
shell: bash | |
pkg: libsdl2-dev clang | |
opt: CLANG=1 USE_OPENGL=0 | |
make: make | |
- name: Linux Clang without Polymer | |
os: ubuntu-latest | |
shell: bash | |
pkg: libsdl2-dev clang | |
opt: CLANG=1 POLYMER=0 | |
make: make | |
- name: macOS Clang | |
os: macos-latest | |
shell: sh | |
make: gmake | |
name: ${{matrix.name}} | |
runs-on: ${{matrix.os}} | |
defaults: | |
run: | |
shell: ${{matrix.shell}} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install-prerequisites-windows-msys2 | |
if: matrix.shell == 'msys2 {0}' | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{matrix.sys}} | |
update: true | |
cache: true | |
install: git mingw-w64-${{matrix.env}}-toolchain make ${{matrix.pkg}} | |
- name: install-prerequisites-linux | |
if: runner.os == 'Linux' | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install libflac-dev libvpx-dev libgtk2.0-dev ${{matrix.pkg}} | |
- name: install-prerequisites-macos | |
if: runner.os == 'macOS' | |
run: | | |
brew install sdl2 flac libvpx make ${{matrix.pkg}} | |
brew unlink lz4 | |
- name: fetch full history | |
if: github.ref == 'refs/heads/master' && matrix.publish-as != '' | |
run: git fetch --unshallow | |
- name: build | |
run: | | |
${{matrix.make}} -j2 blood rr exhumed ${{matrix.opt}} | |
${{matrix.make}} -j2 duke3d sw kenbuild tools ${{matrix.opt}} | |
- name: prepare artifacts | |
if: github.ref == 'refs/heads/master' && matrix.publish-as != '' | |
run: | | |
mkdir -p upload/nblood/ | |
mkdir -p upload/rednukem/ | |
mkdir -p upload/pcexhumed/ | |
cp nblood.exe upload/nblood/ | |
cp rednukem.exe upload/rednukem/ | |
cp pcexhumed.exe upload/pcexhumed/ | |
- uses: actions/upload-artifact@v4 | |
if: github.ref == 'refs/heads/master' && matrix.publish-as != '' | |
with: | |
name: ${{matrix.publish-as}} | |
path: upload/ | |
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` |