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.
40 lines
2.1 KiB
40 lines
2.1 KiB
|
4 weeks ago
|
---
|
||
|
|
status: accepted
|
||
|
|
date: 2026-10-04
|
||
|
|
last-verified: 2026-10-04
|
||
|
|
owner: shared
|
||
|
|
source: maintainer decisions after #97 (release first, prerelease first)
|
||
|
|
---
|
||
|
|
|
||
|
|
# Decision 12: Releases are built and published by CI on a version tag
|
||
|
|
|
||
|
|
- Choice: Pushing a tag such as `5.0.0` or `5.0.0-rc1` on `master` runs the
|
||
|
|
`release` job of `.github/workflows/ci.yml`. It publishes the package that
|
||
|
|
the `build` job built and tested to the PowerShell Gallery
|
||
|
|
(`Publish-PSResource -NupkgPath`) and creates the GitHub release with
|
||
|
|
`NTFSSecurity.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 on `master`, and it skips a version the
|
||
|
|
Gallery or GitHub already has, so a rerun is safe.
|
||
|
|
- Package: `New-ModulePackage.ps1` copies only the `FileList` files of the
|
||
|
|
Release build, so no `.pdb`, XML documentation, or
|
||
|
|
`System.Management.Automation.dll` ships. `Compress-PSResource` builds 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 and
|
||
|
|
`Find-Command` searches by them. Every CI run builds the packages, so pull
|
||
|
|
requests test them.
|
||
|
|
- Secret: `PSGALLERY_API_KEY` belongs to the GitHub environment
|
||
|
|
`powershell-gallery`, which only the `release` job 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 in `Docs/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.
|