mirror of https://github.com/raandree/NTFSSecurity
Browse Source
- Decision 12: releases are built and published by CI on a version tag, prerelease first; Decision 10 gains the prerelease rule. - techContext and systemPatterns: the release job, the packages, the command tags, and the new tests. - progress and activeContext: #97 merged, the release PR, and the steps for the maintainer. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: AI Assistant <ai@example.com>pull/98/head
6 changed files with 131 additions and 56 deletions
@ -0,0 +1,39 @@ |
|||
--- |
|||
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. |
|||
Loading…
Reference in new issue