Skip to content

Combine Sink Buffer Types #1173

Combine Sink Buffer Types

Combine Sink Buffer Types #1173

Workflow file for this run

name: Build
on:
workflow_dispatch:
schedule:
- cron: '0 14 * * 5'
pull_request:
branches: [ vnext ]
paths-ignore:
- '**/*.md'
- '**/*.txt'
- '**/*.config'
- '**/*.ini'
- '**/*.fbx'
- '**/*.nca'
- '**/*.png'
- '**/*.jpg'
- '**/*.jpeg'
jobs:
Build:
strategy:
matrix:
os: [windows-2022, ubuntu-24.04]
config: [Debug, Release]
variant: [Dev, Prod]
include:
- os: windows-2022
generator: "Visual Studio 17 2022"
shortName: Windows
- os: ubuntu-24.04
shortName: Linux
generator: "Ninja"
- variant: Dev
cmakeArgs: "-DNC_PROFILING_ENABLED=ON"
- variant: Prod
cmakeArgs: "-DNC_PROD_BUILD=ON"
name: ${{ matrix.shortName }}-${{ matrix.variant }}-${{ matrix.config }}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Branch
uses: actions/checkout@v4
- name: Setup MSVC
if: ${{ matrix.shortName == 'Windows' }}
uses: ilammy/msvc-dev-cmd@v1
- name: Setup VulkanCI (Windows)
if: ${{ matrix.shortName == 'Windows' }}
uses: NcStudios/VulkanCI@v1.1
with:
sdkVersion: 1.3.261.1
- name: Setup Linux
if: ${{ matrix.shortName == 'Linux' }}
uses: ./.github/actions/linux_setup
with:
sdkVersion: 1.3.261.1
- name: Configure
run: ${{ matrix.cmakeEnv }} cmake -G "${{ matrix.generator }}" -S . -B build ${{ matrix.cmakeArgs }} -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_INSTALL_PREFIX=install -DNC_BUILD_TESTS=ON -DNC_BUILD_INTEGRATION_TESTS=ON
- name: Build and Install
run: cmake --build build --target install --config ${{ matrix.config }} --parallel 4
- name: Run Tests
working-directory: ${{github.workspace}}/build/test
run: ctest -V --output-on-failure --output-junit TestResults.xml
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.shortName }}-${{ matrix.variant }}-${{ matrix.config }}-TestResults
path: build/test/TestResults.xml
- name: Run Smoke Test
if: ${{ matrix.variant == 'Dev' }}
shell: bash
run: test/smoke_test/run_smoke_test.sh "${{ github.workspace }}/install"
- name: Upload Smoke Test Results
if: ${{ !cancelled() && matrix.variant == 'Dev' }}
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.shortName }}-${{ matrix.variant }}-${{ matrix.config }}-SmokeTestResults
path: |
install/sample/ValidationLayers.log
install/sample/SmokeTest.log
Publish-Test-Results:
runs-on: ubuntu-latest
needs: [Build]
permissions:
checks: write
pull-requests: write
if: always()
steps:
- name: Download Results
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Publish Results
uses: mikepenz/action-junit-report@v4
if: always()
with:
report_paths: 'artifacts/**/*.xml'