halflife-photomode/.forgejo/workflows/ci-cd.yml
nullprop 78c21c653f
All checks were successful
CI/CD / Linux-x86-clang++ (push) Successful in 1m50s
CI/CD / Linux-x86-g++ (push) Successful in 1m53s
CI/CD / Release (push) Successful in 16s
Update actions
2025-01-12 00:57:53 +02:00

62 lines
1.6 KiB
YAML

name: CI/CD
on: [push, pull_request]
jobs:
build-linux:
name: Linux-x86-${{ matrix.compiler }}
runs-on: node-bookworm
strategy:
matrix:
compiler: [g++, clang++]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
apt update
apt install -y sudo g++-multilib clang libgl1-mesa-dev zip
- name: Build
run: |
cd linux
make COMPILER=${{ matrix.compiler }} CFG=release
- name: Package
run: |
cp -r linux/release/cl_dlls photomode/cl_dlls
cp -r linux/release/dlls photomode/dlls
zip -r photomode-linux-x86-${{ matrix.compiler }}.zip photomode/
- name: Deploy
uses: forgejo/upload-artifact@v4
with:
name: photomode-linux-x86-${{ matrix.compiler }}.zip
path: photomode-linux-x86-${{ matrix.compiler }}.zip
if-no-files-found: error
release:
name: Release
runs-on: node-bookworm
if: startsWith(github.ref, 'refs/tags/')
needs: build-linux
steps:
- uses: actions/checkout@v4 # needed for release action?
- name: Download artifacts
uses: forgejo/download-artifact@v4
with:
path: artifacts
merge-multiple: true
- run: ls -lah artifacts/
- name: Release
uses: actions/forgejo-release@v2
with:
url: https://code.nullprop.sh
direction: upload
release-dir: artifacts
tag: "${{ github.ref_name }}"
token: ${{ secrets.TOKEN }}