mirror of
https://github.com/yquake2/ctf.git
synced 2024-11-22 03:41:03 +00:00
Add CI workflows for Linux, MacOS and Windows.
This is equivalent to the CI workflows added to the yquake2 main repository. The workflows are triggered on commit, for new pull requests and when the pull request branch is updated. The CI is mostly for providing users with up to date test builds.
This commit is contained in:
parent
38cc7813dd
commit
b8a45290a2
3 changed files with 151 additions and 0 deletions
45
.github/workflows/linux.yml
vendored
Normal file
45
.github/workflows/linux.yml
vendored
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
name: Testbuild for Linux
|
||||||
|
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_ubuntu_x64_64:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- env: ubuntu
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
# Public runners come with 2 CPUs.
|
||||||
|
make -j2
|
||||||
|
- name: Create testbuild package
|
||||||
|
run: |
|
||||||
|
# Create release directory tree
|
||||||
|
mkdir -p publish/quake2-ctf-linux-${{github.sha}}/misc/docs
|
||||||
|
# Copy release assets
|
||||||
|
cp -r release/* publish/quake2-ctf-linux-${{github.sha}}/
|
||||||
|
# Copy misc assets
|
||||||
|
cp LICENSE publish/quake2-ctf-linux-${{github.sha}}/misc/docs/LICENSE.txt
|
||||||
|
cp README.md publish/quake2-ctf-linux-${{github.sha}}/misc/docs/README.txt
|
||||||
|
- name: Upload testbuild package
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: quake2-ctf-linux-${{github.sha}}
|
||||||
|
path: publish/
|
||||||
|
if-no-files-found: error
|
50
.github/workflows/macos.yml
vendored
Normal file
50
.github/workflows/macos.yml
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
name: Testbuild for MacOS
|
||||||
|
run-name: testbuild_macos
|
||||||
|
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_macos_aarch64:
|
||||||
|
runs-on: macos-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- env: macos
|
||||||
|
steps:
|
||||||
|
- name: Install build dependencies
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
brew install make
|
||||||
|
brew upgrade
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
# Public runners come with 3 CPUs.
|
||||||
|
gmake -j3
|
||||||
|
- name: Create testbuild package
|
||||||
|
run: |
|
||||||
|
# Create release directory tree
|
||||||
|
mkdir -p publish/quake2-ctf-macos-${{github.sha}}/misc/docs
|
||||||
|
# Copy release assets
|
||||||
|
cp -r release/* publish/quake2-ctf-macos-${{github.sha}}/
|
||||||
|
# Copy misc assets
|
||||||
|
cp LICENSE publish/quake2-ctf-macos-${{github.sha}}/misc/docs/LICENSE.txt
|
||||||
|
cp README.md publish/quake2-ctf-macos-${{github.sha}}/misc/docs/README.txt
|
||||||
|
- name: Upload testbuild package
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: quake2-ctf-macos-${{github.sha}}
|
||||||
|
path: publish/
|
||||||
|
if-no-files-found: error
|
56
.github/workflows/win32.yml
vendored
Normal file
56
.github/workflows/win32.yml
vendored
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
name: Testbuild for Win32
|
||||||
|
run-name: testbuild_win32
|
||||||
|
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_mingw_x86_32:
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- { sys: mingw32, env: i686 }
|
||||||
|
steps:
|
||||||
|
- uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: ${{matrix.sys}}
|
||||||
|
update: true
|
||||||
|
install: >-
|
||||||
|
git
|
||||||
|
make
|
||||||
|
mingw-w64-${{matrix.env}}-gcc
|
||||||
|
mingw-w64-${{matrix.env}}-make
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Build
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
# Public runners come with 2 CPUs.
|
||||||
|
make -j2
|
||||||
|
- name: Create testbuild package
|
||||||
|
shell: msys2 {0}
|
||||||
|
run: |
|
||||||
|
# Create release directory tree
|
||||||
|
mkdir -p publish/quake2-ctf-win32-${{github.sha}}/misc/docs
|
||||||
|
# Copy release assets
|
||||||
|
cp -r release/* publish/quake2-ctf-win32-${{github.sha}}/
|
||||||
|
# Copy misc assets
|
||||||
|
cp LICENSE publish/quake2-ctf-win32-${{github.sha}}/misc/docs/LICENSE.txt
|
||||||
|
cp README.md publish/quake2-ctf-win32-${{github.sha}}/misc/docs/README.txt
|
||||||
|
- name: Upload testbuild package
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: quake2-ctf-win32-${{github.sha}}
|
||||||
|
path: publish/
|
||||||
|
if-no-files-found: error
|
Loading…
Reference in a new issue