mirror of https://github.com/raandree/NTFSSecurity
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.1 KiB
2.1 KiB
| status | date | last-verified | owner | source |
|---|---|---|---|---|
| accepted | 2026-10-04 | 2026-10-04 | shared | maintainer decisions after |
Decision 12: Releases are built and published by CI on a version tag
- Choice: Pushing a tag such as
5.0.0or5.0.0-rc1onmasterruns thereleasejob of.github/workflows/ci.yml. It publishes the package that thebuildjob built and tested to the PowerShell Gallery (Publish-PSResource -NupkgPath) and creates the GitHub release withNTFSSecurity.zip, marked as a prerelease for a prerelease tag. The job checks that the tag equals the manifest version (with the prerelease label) and points to a commit onmaster, and it skips a version the Gallery or GitHub already has, so a rerun is safe. - Package:
New-ModulePackage.ps1copies only theFileListfiles of the Release build, so no.pdb, XML documentation, orSystem.Management.Automation.dllships.Compress-PSResourcebuilds the nupkg; the script adds the command tags (PSIncludes_Cmdlet,PSCmdlet_<name>,PSCommand_<name>) that PowerShellGet 2 added and PSResourceGet 1.2 doesn't, because the Gallery lists cmdlets andFind-Commandsearches by them. Every CI run builds the packages, so pull requests test them. - Secret:
PSGALLERY_API_KEYbelongs to the GitHub environmentpowershell-gallery, which only thereleasejob uses; the maintainer creates the key, the environment, and the secret, and may require a reviewer. - Process: a prerelease first (maintainer, 2026-10-04: "no full release
without proper testing"), starting with
5.0.0-rc1; the final release removes the label and dates the changelog section. Steps for maintainers are inDocs/Contributing/05-Releasing.md. - Rationale: Releases so far were local Debug builds published by hand with the whole output folder; tags carried the previous version.
- Rejected: publishing with PowerShellGet 2
Publish-Module(repackages at publish time, so the tested package isn't the published one), and adding the command tags to the shipped manifest.