Compute the package version from the git tags instead of nuget.org - #1350
Merged
Merged
Conversation
The compute_package_version job queried nuget.org to find the latest published version. Use the git tags instead: the create_release job already creates a tag named after the version for every published package, so the tags are an equally accurate source and the CI no longer depends on nuget.org being reachable to compute a version. The job now checks out the repository with fetch-depth: 0 so that all the tags are fetched, and filter: tree:0 to keep the clone cheap by skipping the file contents. fetch-tags: true is not enough: actions/checkout implements it by dropping --no-tags, which leaves git's tag auto-following, and under the default shallow fetch that only brings the tags pointing at the fetched commit. The job also fails with an error annotation when no 3.0.* tag is found, instead of silently computing 3.0.1.
This was referenced Aug 27, 2026
Closed
Bump Meziantou.Analyzer from 3.0.139 to 3.0.189
Analogy-LogViewer/Analogy.LogViewer.NLog.Targets#556
Closed
Closed
Bump Meziantou.Analyzer from 3.0.139 to 3.0.189
Analogy-LogViewer/Analogy.AspNetCore.LogProvider#542
Closed
IhateTrains
pushed a commit
to ParadoxGameConverters/ImperatorToCK3
that referenced
this pull request
Aug 27, 2026
Updated [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 3.0.177 to 3.0.184. <details> <summary>Release notes</summary> _Sourced from [Meziantou.Analyzer's releases](https://github.com/meziantou/Meziantou.Analyzer/releases)._ ## 3.0.184 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.184> ## What's Changed * Compute the package version from the git tags instead of nuget.org by @meziantou in meziantou/Meziantou.Analyzer#1350 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.183...3.0.184 ## 3.0.183 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.183> ## What's Changed * Fix MA0026 crash on an unterminated block comment (#1328) by @meziantou in meziantou/Meziantou.Analyzer#1346 * Fix MA0050 code fixer producing an extension local function (CS1106) by @meziantou in meziantou/Meziantou.Analyzer#1348 * Fix MA0028 code fixer producing uncompilable code (#1327) by @meziantou in meziantou/Meziantou.Analyzer#1347 * Fail the tests when an analyzer throws by @meziantou in meziantou/Meziantou.Analyzer#1349 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.182...3.0.183 ## 3.0.182 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.182> ## What's Changed * Fix MA0073 code fixer producing uncompilable code for low-precedence operands by @meziantou in meziantou/Meziantou.Analyzer#1344 * Do not crash on an invalid regex in the .editorconfig (MA0003, MA0104) by @meziantou in meziantou/Meziantou.Analyzer#1345 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.181...3.0.182 ## 3.0.181 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.181> ## What's Changed * Add a language attribute code fix and MA0218/MA0219 for XML comments by @meziantou in meziantou/Meziantou.Analyzer#1320 * Compile the text produced by the fixer in the test harness by @meziantou in meziantou/Meziantou.Analyzer#1342 * Fix StackOverflow crash on cyclic local initializers (MA0091/MA0092/MA0093) by @meziantou in meziantou/Meziantou.Analyzer#1341 * Avoid the Sqlite data-flow analysis on every MA0042 invocation by @meziantou in meziantou/Meziantou.Analyzer#1343 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.180...3.0.181 ## 3.0.180 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.180> ## What's Changed * Fix MAS0004 stopping at the first unrelated CA1507 diagnostic by @meziantou in meziantou/Meziantou.Analyzer#1340 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.179...3.0.180 ## 3.0.179 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.179> ## What's Changed * Fix bare `#pragma warning disable` in AvoidUsingRedundantElseAnalyzer by @meziantou in meziantou/Meziantou.Analyzer#1339 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.178...3.0.179 ## 3.0.178 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.178> ## What's Changed * Fix MA0075 false positive on FormattableString.Invariant by @meziantou in meziantou/Meziantou.Analyzer#1322 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.177...3.0.178 Commits viewable in [compare view](meziantou/Meziantou.Analyzer@3.0.177...3.0.184). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Aug 27, 2026
Closed
Closed
This was referenced Sep 22, 2026
Closed
Closed
Closed
Closed
Closed
Closed
Closed
Closed
chore(deps): Bump the nuget-minor-and-patch group with 2 updates
donislawdev/BetterWindowsServices#3
Merged
Closed
Closed
Bump Meziantou.Analyzer from 3.0.139 to 3.0.283
Analogy-LogViewer/Analogy.LogViewer.NLog.Targets#582
Closed
Closed
Bump Meziantou.Analyzer from 3.0.139 to 3.0.283
Analogy-LogViewer/Analogy.AspNetCore.LogProvider#563
Closed
Closed
Closed
Closed
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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
The
compute_package_versionjob of the CI computed the version of the next package by querying nuget.org for the latest published version. It now derives it from the git tags.Why
The
create_releasejob already creates a tag named after the version for every published package, so the tags are an equally accurate source, and computing a version no longer requires nuget.org to be reachable.How
fetch-depth: 0so that all the tags are fetched, andfilter: tree:0to keep the clone cheap by skipping the file contents.3.0.Ntag and increments it. It fails with an::error::annotation when no matching tag is found, instead of silently computing3.0.1.Why not
fetch-tags: trueThat would be cheaper, but it is not reliable here.
actions/checkoutimplements the flag by dropping--no-tags, which leaves git's tag auto-following, and under the default shallow fetch that only brings the tags pointing at the fetched commit. Tested against this repository, it fetched exactly one tag; on a PR branch, or onmainonce a commit lands after the last release, it would have fetched none and the job would have failed. The all-history refspec includes+refs/tags/*:refs/tags/*explicitly, which fetches all 481 tags.Testing
The
runblock was extracted from the YAML and executed withpwshagainst the real tags of the repository:refs/heads/main3.0.1843.0.184-build.<run_id>The previous nuget.org based logic, run side by side, also yields
3.0.184, so the two agree. The workflow file still parses and all its jobs are intact.Note for the reviewer
The source of truth for the version moves from "what is published on nuget.org" to "what
create_releasetagged". The two can diverge ifdeploysucceeds butcreate_releasefails: the next run would recompute the same version anddotnet nuget push --skip-duplicatewould quietly skip the push instead of failing. The window is narrow, as the tag is created right after the deploy, but it did not exist before. Moving the tag creation before the push would close it, if that is worth doing.