[codex] Fix transparent QR alpha compositing #851
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-test: | |
| name: Build & Test (${{ matrix.os }}) | |
| # Prefer private/self-hosted runners for private repos to reduce hosted spend. | |
| runs-on: ${{ fromJSON(github.event.repository.private && matrix.selfHostedRunner || format('["{0}"]', matrix.os)) }} | |
| timeout-minutes: 10 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| selfHostedRunner: '["self-hosted","linux"]' | |
| - os: macos-latest | |
| selfHostedRunner: '["self-hosted","macOS"]' | |
| - os: windows-latest | |
| selfHostedRunner: '["self-hosted","windows"]' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET 8 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: "8.0.x" | |
| - name: Setup .NET 10 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: "10.0.x" | |
| - name: Restore Core | |
| run: dotnet restore CodeGlyphX/CodeGlyphX.csproj | |
| - name: Restore Tests (net8.0) | |
| run: dotnet restore CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -p:TargetFramework=net8.0 | |
| - name: Restore Tests (net472) | |
| if: runner.os == 'Windows' | |
| run: dotnet restore CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -p:TargetFramework=net472 | |
| - name: Restore Examples | |
| run: dotnet restore CodeGlyphX.Examples/CodeGlyphX.Examples.csproj | |
| - name: Restore WPF | |
| if: runner.os == 'Windows' | |
| run: | | |
| dotnet restore CodeGlyphX.Wpf/CodeGlyphX.Wpf.csproj | |
| dotnet restore CodeGlyphX.ScreenScan.Wpf/CodeGlyphX.ScreenScan.Wpf.csproj | |
| dotnet restore CodeGlyphX.Demo.Wpf/CodeGlyphX.Demo.Wpf.csproj | |
| - name: Build Core (net8.0) | |
| run: dotnet build CodeGlyphX/CodeGlyphX.csproj -c Release -f net8.0 --no-restore | |
| - name: Build Core (net10.0) | |
| run: dotnet build CodeGlyphX/CodeGlyphX.csproj -c Release -f net10.0 --no-restore | |
| - name: Build Tests (net8.0) | |
| run: dotnet build CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -c Release -f net8.0 | |
| - name: Download image samples | |
| if: runner.os == 'Linux' | |
| run: pwsh Build/Download-ImageSamples.ps1 | |
| - name: Test (net8.0) | |
| run: dotnet test CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -c Release -f net8.0 --no-restore --no-build | |
| - name: Upload coverage to Codecov | |
| if: runner.os == 'Linux' && github.event_name != 'pull_request' | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: ./CodeGlyphX.Tests/TestResults/**/coverage.cobertura.xml | |
| fail_ci_if_error: false | |
| verbose: true | |
| - name: Build Examples (net8.0) | |
| run: dotnet build CodeGlyphX.Examples/CodeGlyphX.Examples.csproj -c Release -f net8.0 --no-restore | |
| - name: Build WPF (net8.0-windows) | |
| if: runner.os == 'Windows' | |
| run: | | |
| dotnet build CodeGlyphX.Wpf/CodeGlyphX.Wpf.csproj -c Release -f net8.0-windows --no-restore | |
| dotnet build CodeGlyphX.ScreenScan.Wpf/CodeGlyphX.ScreenScan.Wpf.csproj -c Release -f net8.0-windows --no-restore | |
| dotnet build CodeGlyphX.Demo.Wpf/CodeGlyphX.Demo.Wpf.csproj -c Release -f net8.0-windows --no-restore | |
| - name: Build Core (net472) | |
| if: runner.os == 'Windows' | |
| run: dotnet build CodeGlyphX/CodeGlyphX.csproj -c Release -f net472 --no-restore | |
| - name: Build Tests (net472) | |
| if: runner.os == 'Windows' | |
| run: dotnet build CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -c Release -f net472 --no-restore | |
| - name: Test (net472 smoke) | |
| if: runner.os == 'Windows' | |
| run: dotnet test CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -c Release -f net472 --no-restore --no-build | |
| website-build: | |
| name: Website Build (PR) | |
| if: github.event_name == 'pull_request' | |
| permissions: | |
| contents: read | |
| uses: EvotecIT/PSPublishModule/.github/workflows/powerforge-website-ci.yml@06fbc3f015c2da91bb1b49e1a1323c21aced7cdf | |
| with: | |
| website_root: Website | |
| pipeline_config: Website/pipeline.website-ci.json | |
| runner_labels_json: ${{ github.event.repository.private && '["self-hosted","linux"]' || '["ubuntu-latest"]' }} | |
| powerforge_ref: 06fbc3f015c2da91bb1b49e1a1323c21aced7cdf | |
| powerforge_web_tag: PowerForgeWeb-v1.0.0-preview | |
| report_artifact_name: powerforge-website-reports | |
| coverage: | |
| name: Coverage (linux) | |
| # Prefer private/self-hosted runners for private repos to reduce hosted spend. | |
| runs-on: ${{ fromJSON(github.event.repository.private && '["self-hosted","linux"]' || '["ubuntu-latest"]') }} | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup .NET 8 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: "8.0.x" | |
| - name: Restore Tests | |
| run: dotnet restore CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -p:TargetFramework=net8.0 | |
| - name: Build Tests (net8.0) | |
| run: dotnet build CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -c Release -f net8.0 --no-restore | |
| - name: Test (net8.0 + coverage) | |
| run: dotnet test CodeGlyphX.Tests/CodeGlyphX.Tests.csproj -c Release -f net8.0 --no-restore --no-build --collect:"XPlat Code Coverage" --settings Build/coverage.runsettings | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: ./CodeGlyphX.Tests/TestResults/**/coverage.cobertura.xml | |
| fail_ci_if_error: false | |
| verbose: true |