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