Skip to content

Add GitHub Actions CI pilot (with Codecov) alongside Azure Pipelines#2905

Open
nohwnd wants to merge 4 commits into
mainfrom
ci/gh-actions-pilot
Open

Add GitHub Actions CI pilot (with Codecov) alongside Azure Pipelines#2905
nohwnd wants to merge 4 commits into
mainfrom
ci/gh-actions-pilot

Conversation

@nohwnd

@nohwnd nohwnd commented Jul 18, 2026

Copy link
Copy Markdown
Member

Runs a GitHub Actions workflow in parallel with the existing Azure Pipelines so we can compare the two before deciding whether to move off Azure DevOps. azure-pipelines.yml is unchanged — nothing is cut over.

Why now: Azure DevOps public projects are being retired (existing ones convert to private in 2027, dropping the free grant from 10 parallel jobs to 1). GitHub Actions is free for public repos with more concurrency (20 vs 10).

What it does: builds once on windows-latest, then runs the same 8-leg matrix as Azure — PowerShell 7 on ubuntu/macOS/windows (latest + one previous GA), Windows PowerShell 5.1 on windows (latest + previous). Coverage shows in each run's job summary and a consolidated table, and uploads to Codecov with a flag per leg.

Images are GA-only: floating *-latest plus one pinned previous GA. macos-14 is deprecating (removed Nov 2026) and will need swapping before then.

@nohwnd
nohwnd force-pushed the ci/gh-actions-pilot branch from 2e2a602 to 64e2f1b Compare July 18, 2026 10:05
Runs in parallel with azure-pipelines.yml so we can compare the two before cutting over. Build once on Windows, then the same 8-leg matrix as Azure: PowerShell 7 on ubuntu/macOS/windows (latest + one previous GA), Windows PowerShell 5.1 on windows (latest + previous). Coverage renders in each run's job summary and a consolidated table, and uploads to Codecov with a flag per leg. GA-only images: floating *-latest plus one pinned previous GA.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@nohwnd
nohwnd force-pushed the ci/gh-actions-pilot branch from 64e2f1b to 2177e4b Compare July 18, 2026 10:06
@fflaten

fflaten commented Jul 18, 2026

Copy link
Copy Markdown
Collaborator

Add https://github.com/dorny/test-reporter to the test matrix jobs?
Could also add dependabot for github-actions (at least major versions) to keep up with the Node.js deprecations.

Why now: Azure DevOps public projects are being retired (existing ones convert to private in 2027, dropping the free grant from 10 parallel jobs to 1)

Didn't know. 🙁 Good thing we don't use exclusive features here.

nohwnd and others added 3 commits July 18, 2026 22:07
- Publish NUnit3 test results per matrix leg with dorny/test-reporter, a GitHub-native test report (Azure test-tab parity). test.ps1 gains an env-selectable result format (PESTER_TESTRESULT_FORMAT); Azure keeps the default NUnit 2.5, only the pilot switches to NUnit3.

- Add Dependabot for github-actions (weekly, grouped, incl. major) to keep the actions current and ahead of Node.js runtime deprecations.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
dorny/test-reporter shells out to git and fails with exit 128 when the leg has no repo checkout (the legs are artifact-only). Add a shallow checkout before the artifact download; the artifact overlays it, so the tests still run against the published build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Azure PublishTestResults@2 supports NUnit3, so test.ps1 can just emit the modern format for both consumers. Drops the PESTER_TESTRESULT_FORMAT env indirection.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants