You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
GitHub Actions CI build and release with Trusted Publishing - #20
Replaces the ADO pipeline with the same GitHub Actions setup as PluginRegistration, and removes the unused appveyor.yml.
CI Build (build.yml)
Runs on pushes to master, PRs to master, and manually.
Versions each run 1.yyyy.MM.rrr (rrr = this month's runs up to this one, so overlapping runs can't collide), same shape as the old ADT-CI-* builds. Stamps AssemblyInfo.cs and AutoDeployer.nuspec.
Builds the solution (with the XrmToolBox.Helpers submodule) and uploads the nupkg, an XrmToolBox zip and the plugin files.
Release (release.yml), manual with a CI Build run ID
Only accepts a successful CI Build run on master and publishes that exact package (no rebuild); refuses a version that is already tagged.
Pushes to nuget.org with Trusted Publishing (NuGet/login@v1, one-hour key) and -SkipDuplicate.
Creates the ADT-<version> tag on the built commit and a GitHub release. Notes = nuspec <releaseNotes> followed by GitHub's generated PR list since the previous ADT-* tag.
CI Build versions every run 1.yyyy.MM.rrr (rrr = this month's runs up to this
one), stamps AssemblyInfo and the nuspec, builds and uploads the nupkg, an
XrmToolBox zip and the plugin files. Release publishes the package of a
successful master build to nuget.org with Trusted Publishing and creates the
ADT-<version> tag and GitHub release, replacing the ADO pipeline.
…ase commit
created_at has one-second resolution, so runs created in the same second got the
same number; ties are now broken by run ID. The previous release tag is searched
from the parent commit, so an ADT-CI tag the ADO build put on the release commit
itself can't empty the generated notes.
workflow_dispatch can run release.yml from any branch, and the Trusted Publishing
policy only checks the repository and workflow file name, so a modified copy on
an unmerged branch could obtain a NuGet key. The job now runs in the "release"
environment, which is restricted to master and bound to the nuget.org policy.
The failure status from the earlier-runs query is overwritten by the same-second query. If the first API call fails but the second succeeds, $earlier becomes 0 and the workflow emits an already-used or incorrect version instead of failing. Check each native call before issuing the next one.
# "Not found" is the expected answer; don't let gh's exit code end the step as failed
$global:LASTEXITCODE = 0
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
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.
Replaces the ADO pipeline with the same GitHub Actions setup as PluginRegistration, and removes the unused
appveyor.yml.CI Build (
build.yml)1.yyyy.MM.rrr(rrr = this month's runs up to this one, so overlapping runs can't collide), same shape as the oldADT-CI-*builds. StampsAssemblyInfo.csandAutoDeployer.nuspec.XrmToolBox.Helperssubmodule) and uploads the nupkg, an XrmToolBox zip and the plugin files.Release (
release.yml), manual with a CI Build run IDNuGet/login@v1, one-hour key) and-SkipDuplicate.ADT-<version>tag on the built commit and a GitHub release. Notes = nuspec<releaseNotes>followed by GitHub's generated PR list since the previousADT-*tag.Before the first release
imranakram, repositoryimranakram/XrmToolBox.AutoDeployer, workflowrelease.ymlNUGET_USERrepository secret =imranakram<releaseNotes>inAutoDeployer.nuspec(still the notes of the February release)