Skip to content

[codex] Fix transparent QR alpha compositing #851

[codex] Fix transparent QR alpha compositing

[codex] Fix transparent QR alpha compositing #851

Workflow file for this run

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