| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- name: Build
- on:
- push:
- branches: [main]
- paths-ignore:
- - '**.md'
- - 'docs/**'
- pull_request:
- paths-ignore:
- - '**.md'
- - 'docs/**'
- workflow_dispatch:
- permissions:
- contents: read
- jobs:
- windows:
- name: Windows Release
- runs-on: windows-latest
- timeout-minutes: 20
- steps:
- - name: Checkout source and pinned dependencies
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- with:
- submodules: recursive
- - name: Set up .NET SDK
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
- with:
- dotnet-version: 9.0.x
- - name: Build public single executable
- shell: pwsh
- run: ./tools/Build.ps1
- - name: Build runtime checks
- shell: pwsh
- run: dotnet build ./tools/SmokeTest/SmokeTest.csproj -c Release -v:minimal
- - name: Check themes and public executable
- shell: powershell
- run: |
- $launcher = Join-Path $env:GITHUB_WORKSPACE 'artifacts\PCL-Communist-2.99.0.0\PCL Communist.exe'
- $hostExe = Join-Path $env:GITHUB_WORKSPACE 'tools\SmokeTest\bin\Release\net48\SmokeTest.exe'
- $results = Join-Path $env:RUNNER_TEMP 'pcl-runtime-results'
- $testArguments = '"' + $launcher + '" "' + $results + '"'
- ./tools/Test-IsolatedProcess.ps1 -Executable $hostExe -ArgumentLine $testArguments -OutputDirectory $results -TimeoutSeconds 60
- Get-Content -LiteralPath (Join-Path $results 'test-console.txt')
- - name: Check standalone startup
- shell: powershell
- run: |
- $fixture = Join-Path $env:RUNNER_TEMP 'pcl-standalone'
- New-Item -ItemType Directory -Path $fixture | Out-Null
- Copy-Item -LiteralPath './artifacts/PCL-Communist-2.99.0.0/PCL Communist.exe' -Destination $fixture
- ./tools/Test-IsolatedProcess.ps1 -Executable (Join-Path $fixture 'PCL Communist.exe') -OutputDirectory (Join-Path $env:RUNNER_TEMP 'pcl-startup-results') -TimeoutSeconds 10 -ExpectMainWindow
- - name: Upload executable
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
- with:
- name: PCL-Communist
- path: artifacts/PCL-Communist-2.99.0.0/PCL Communist.exe
- if-no-files-found: error
- - name: Upload runtime diagnostics
- if: failure()
- uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2
- with:
- name: runtime-diagnostics
- path: |
- ${{ runner.temp }}/pcl-runtime-results
- ${{ runner.temp }}/pcl-startup-results
- if-no-files-found: ignore
|