Files
video-shader-toys/.gitea/workflows/ci.yml
2026-05-03 11:48:49 +10:00

88 lines
2.0 KiB
YAML

name: CI
on:
push:
branches:
- main
- master
- develop
pull_request:
workflow_dispatch:
jobs:
native-windows:
name: Native Windows Build And Tests
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure Debug
shell: powershell
run: cmake --preset vs2022-x64-debug
- name: Build Debug
shell: powershell
run: cmake --build --preset build-debug
- name: Run Native Tests
shell: powershell
run: cmake --build --preset build-debug --target RUN_TESTS
ui-ubuntu:
name: React UI Build
runs-on: nubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install UI Dependencies
working-directory: ui
run: npm ci --no-audit --no-fund
- name: Build UI
working-directory: ui
run: npm run build
package-windows:
name: Windows Release Package
runs-on: windows-latest
needs:
- native-windows
- ui-ubuntu
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build UI
shell: powershell
working-directory: ui
run: |
npm ci --no-audit --no-fund
npm run build
- name: Configure Release
shell: powershell
run: cmake --preset vs2022-x64-release
- name: Build Release
shell: powershell
run: cmake --build --preset build-release
- name: Install Runtime Package
shell: powershell
run: cmake --install build/vs2022-x64-release --config Release --prefix dist/VideoShader
- name: Zip Runtime Package
shell: powershell
run: Compress-Archive -Path dist/VideoShader/* -DestinationPath dist/VideoShader.zip -Force
- name: Upload Runtime Package
uses: actions/upload-artifact@v4
with:
name: VideoShader-windows-release
path: dist/VideoShader.zip