forked from microsoft/playwright-dotnet
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
feature-parityIssues tracking feature parity with upstream PlaywrightIssues tracking feature parity with upstream Playwrightphase-1Phase 1: InfrastructurePhase 1: Infrastructure
Description
Description
Add GitHub Actions CI/CD workflows to PlaywrightSharp, modeled after puppeteer-sharp's pipeline.
What to Implement
Main test workflow (.github/workflows/dotnet.yml)
- Triggers:
workflow_dispatch, push tomain/release-*, PRs - File filters: Only trigger on
.yml,.cs,.json,.csproj,.runsettingschanges - .NET SDK: 10.0.x
- Matrix strategy:
- OS: Ubuntu and Windows
- Browsers: Chromium, Firefox (WebKit when ready)
- Modes: headless, headful
- Steps:
- Checkout
- Setup .NET 10 SDK
- Install system dependencies (
libgbm-dev,xvfbon Linux) - Generate HTTPS dev certificate (
dotnet dev-certs https -ep src/PlaywrightSharp.TestServer/testCert.cer) - Code formatting check (
dotnet format) — only on first matrix combo - Puppeteer reference check (no "puppeteer" in code)
- Build solution
- Run tests with
PRODUCTenv var and--filter Category=flag - Use
xvfb-runon Linux for headful tests
- Test retry: Consider adding
dotnet-retestfor flaky browser test handling - Timeout:
TestSessionTimeoutof 3600000ms via.runsettings
Code style workflow (.github/workflows/code-style.yml)
- Runs
dotnet format --check - Checks for "puppeteer" references in the codebase
NuGet publish workflow (.github/workflows/publish-nuget.yml)
- Triggers on version tags
- Publishes packages to nuget.org
Upstream References
- puppeteer-sharp
.github/workflows/dotnet.yml - puppeteer-sharp
.github/workflows/code-style.yml - puppeteer-sharp
.github/workflows/PushNugetPackageToNugetOrg.yml
Files to Create/Modify
.github/workflows/dotnet.yml(new).github/workflows/code-style.yml(new).github/workflows/publish-nuget.yml(new)src/PlaywrightSharp.Tests/test.runsettings(new)
Verification
Push a branch and verify workflows trigger and execute correctly.
Dependencies
Depends on: #1
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
feature-parityIssues tracking feature parity with upstream PlaywrightIssues tracking feature parity with upstream Playwrightphase-1Phase 1: InfrastructurePhase 1: Infrastructure