This repository was archived by the owner on Aug 29, 2026. It is now read-only.
Repository navigation
Modernize CI/CD: GitHub Actions + MinVer, prep trunk-based branching - #24
Merged
Merged
Conversation
Replaces the AppVeyor pipeline with GitHub Actions and adopts MinVer for fully automatic, git-tag-based versioning: - .github/workflows/ci.yml: build/test/coverage on PRs and pushes to main (Codecov upload), the required status check for branch protection once main is live. - .github/workflows/release.yml: on every push to main, packs and publishes a NuGet package (prerelease unless HEAD is an exact vX.Y.Z tag, per MinVer); on a vX.Y.Z tag push, also creates a GitHub Release with auto-generated notes. - src/ArgSentry/ArgSentry.csproj: added MinVer package reference and config (tag prefix "v", preview.0 prerelease identifier), removed the placeholder AssemblyVersion/FileVersion/InformationalVersion properties that AppVeyor used to patch by hand. - CONTRIBUTING.md: documents the new trunk-based flow (feature branch -> PR -> main), automatic prerelease publishing, and the tag-to-release process. - README.md: swapped the AppVeyor badge for a GitHub Actions CI badge; repointed the Codecov badge from master to main. appveyor.yml is left in place for now and will be removed once this pipeline is proven out on main, per the migration plan (dev/master are still the live branches at this commit).
The pull_request trigger was scoped to branches:[main], but main doesn't exist yet (this repo still targets PRs at dev pending the branch rename) - so CI was silently not running on PRs. Since this is a trunk-based setup, every PR will target main once the rename is done anyway, so dropping the branch filter is correct long-term too.
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
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Replaces AppVeyor with GitHub Actions and adopts MinVer for automatic, git-tag-based versioning — step 1 of moving to a trunk-based
mainbranch with continuous preview packages + tag-triggered stable releases..github/workflows/ci.yml— build/test/coverage (Codecov) on PRs and pushes tomain. This is the check this PR proves out; it will become the required status check oncemainis live..github/workflows/release.yml— packs and publishes to NuGet on every push tomain(prerelease, e.g.3.1.0-preview.0.N) and onvX.Y.Ztag pushes (stable + GitHub Release with auto-generated notes).src/ArgSentry/ArgSentry.csproj— added MinVer, removed the placeholderAssemblyVersion/FileVersion/InformationalVersionproperties AppVeyor used to patch by hand.CONTRIBUTING.md— documents the new flow (feature branch → PR →main, automatic prereleases, tag-to-release).README.md— GitHub Actions CI badge replacing AppVeyor; Codecov badge repointed tomain.Not in this PR
appveyor.ymlis left in place intentionally — it still targetsdev/masterand keeps working as a fallback until this pipeline is proven out andmainis live. It'll be removed in a follow-up once at least one prerelease and one stable release have gone through the new pipeline successfully. Branch rename (dev→main), branch protection, and secrets (NUGET_API_KEY,CODECOV_TOKEN) setup are separate follow-up steps.Verification
dotnet buildanddotnet testpass locally (59/59 tests) with MinVer producing versions correctly (0.0.0-preview.0.Nwith no tags yet, as expected).CIcheck is the live proof thatci.ymlworks end-to-end before anything else changes.🤖 Generated with Claude Code