Skip to content

[codex] Preserve imported front matter titles #20

[codex] Preserve imported front matter titles

[codex] Preserve imported front matter titles #20

Workflow file for this run

name: PR Validation
on:
pull_request:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: pr-validation-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
APP_TEST_PROJECT: tests/PrompterOne.Web.Tests/PrompterOne.Web.Tests.csproj
CORE_TEST_PROJECT: tests/PrompterOne.Core.Tests/PrompterOne.Core.Tests.csproj
PLAYWRIGHT_CLI: tests/PrompterOne.Web.UITests/bin/Debug/net10.0/.playwright/package/cli.js
SOLUTION_FILE: PrompterOne.slnx
jobs:
build_supporting_suites:
name: Restore + Build Supporting Suites
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Restore solution
run: dotnet restore "$SOLUTION_FILE"
- name: Restore WebAssembly workload
run: dotnet workload restore
- name: Build solution
run: dotnet build "$SOLUTION_FILE" -warnaserror
test_supporting_suites:
name: Run Supporting Suites
needs: build_supporting_suites
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Expose GitHub Actions Runtime
uses: actions/github-script@v8
with:
script: |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN']);
core.exportVariable('ACTIONS_RESULTS_URL', process.env['ACTIONS_RESULTS_URL']);
- name: Test supporting suites
run: |
dotnet test --project "$CORE_TEST_PROJECT"
dotnet test --project "$APP_TEST_PROJECT"
build_browser_suites:
name: Restore + Build Browser Suites
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Restore solution
run: dotnet restore "$SOLUTION_FILE"
- name: Restore WebAssembly workload
run: dotnet workload restore
- name: Build solution
run: dotnet build "$SOLUTION_FILE" -warnaserror
test_browser_suites:
name: Run Browser Suite (${{ matrix.suite.name }})
needs: build_browser_suites
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
suite:
- name: Shell
artifact: shell
project: tests/PrompterOne.Web.UITests.Shell/PrompterOne.Web.UITests.Shell.csproj
- name: Studio
artifact: studio
project: tests/PrompterOne.Web.UITests.Studio/PrompterOne.Web.UITests.Studio.csproj
- name: Editor
artifact: editor
project: tests/PrompterOne.Web.UITests.Editor/PrompterOne.Web.UITests.Editor.csproj
- name: Reader
artifact: reader
project: tests/PrompterOne.Web.UITests.Reader/PrompterOne.Web.UITests.Reader.csproj
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup .NET
uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Expose GitHub Actions Runtime
uses: actions/github-script@v8
with:
script: |
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env['ACTIONS_RUNTIME_TOKEN']);
core.exportVariable('ACTIONS_RESULTS_URL', process.env['ACTIONS_RESULTS_URL']);
- name: Restore solution
run: dotnet restore "$SOLUTION_FILE"
- name: Restore WebAssembly workload
run: dotnet workload restore
- name: Build solution
run: dotnet build "$SOLUTION_FILE" -warnaserror
- name: Install Playwright browser
run: node "$PLAYWRIGHT_CLI" install chromium
- name: Test browser suite
run: dotnet test --project "${{ matrix.suite.project }}" --verbosity normal
- name: Upload Playwright artifacts
if: always()
uses: actions/upload-artifact@v7
with:
name: playwright-artifacts-pr-validation-${{ matrix.suite.artifact }}
path: output/playwright/
if-no-files-found: ignore