Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
name: Linux build
run-name: testbuild_linux
on:
push:
branches:
- 'master'
pull_request:
types:
- edited
- opened
- synchronize
concurrency:
# Cancel concurrent workflows for the same PR or commit hash.
group: ${{github.workflow}}-${{github.event_name == 'pull_request' && github.head_ref || github.sha}}
cancel-in-progress: true
jobs:
build_linux:
name: Linux (${{ matrix.arch }})
runs-on: ${{ matrix.runs_on }}
permissions:
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- arch: x86_64
runs_on: ubuntu-latest
- arch: aarch64
runs_on: ubuntu-24.04-arm
steps:

# Install apt dependencies
- name: Install build dependencies
run: |
sudo apt update
sudo apt install libgl1-mesa-dev libopenal-dev libcurl4-openssl-dev \
build-essential

# SDL3 isn't available in apt, so we need to install it manually
- name: Setup SDL3
uses: libsdl-org/setup-sdl@main
with:
install-linux-dependencies: true
version: 3-latest
build-type: Release
discriminator: linux-${{ matrix.arch }}
add-to-environment: true

- name: Check out repository code
uses: actions/checkout@v4

# Do a release build with CMake presets
- name: Build
run: |
cmake --preset release
cmake --build --preset release

- name: Create testbuild package
run: |
# Create release directory tree
mkdir -p publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs
# Copy release assets
cp -r release/* publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/
# Copy misc assets
cp -r stuff/yq2.cfg publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/yq2.cfg
cp -r stuff/mapfixes publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc
cp LICENSE publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/LICENSE.txt
cp README.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/README.txt
cp doc/010_index.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/010_index.txt
cp doc/020_installation.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/020_installation.txt
cp doc/030_configuration.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/030_configuration.txt
cp doc/040_cvarlist.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/040_cvarlist.txt
cp doc/050_commands.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/050_commands.txt
cp doc/060_multiplayer.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/060_multiplayer.txt
cp doc/070_packaging.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/070_packaging.txt
cp doc/080_contributing.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/080_contributing.txt
cp doc/090_filelists.md publish/quake2-linux_${{matrix.arch}}-${{github.sha}}/misc/docs/090_filelists.md

- name: Upload testbuild package
uses: actions/upload-artifact@v4
with:
name: quake2-linux_${{matrix.arch}}-${{github.sha}}
path: publish/
if-no-files-found: error
65 changes: 0 additions & 65 deletions .github/workflows/linux_aarch64.yml

This file was deleted.

70 changes: 0 additions & 70 deletions .github/workflows/linux_x86_64.yml

This file was deleted.

6 changes: 3 additions & 3 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ jobs:
- name: Install build dependencies
run: |
brew update
brew install sdl3 openal-soft make
brew install sdl3 openal-soft ninja
- name: Check out repository code
uses: actions/checkout@v4
- name: Build
run: |
# Public runners come with 3 CPUs.
gmake -j3
cmake --preset release
cmake --build --preset release
- name: Create testbuild package
run: |
# Create release directory tree
Expand Down
Loading
Loading