Skip to content

⚙️ [Maintenance]: CI and documentation builds use Process-PSModule v6.1.19 - #91

Merged
Marius Storhaug (MariusStorhaug) merged 23 commits into
mainfrom
quality-review-bump-process-psmodule
Aug 8, 2026
Merged

⚙️ [Maintenance]: CI and documentation builds use Process-PSModule v6.1.19#91
Marius Storhaug (MariusStorhaug) merged 23 commits into
mainfrom
quality-review-bump-process-psmodule

Conversation

@MariusStorhaug

@MariusStorhaugMarius Storhaug (MariusStorhaug) commented Aug 3, 2026

Copy link
Copy Markdown
Member

NerdFonts now runs its CI and documentation builds through Process-PSModule v6.1.19, with dependency compatibility and documentation links aligned so contributors get reliable build, test, and site-generation results.

Changed: CI and documentation builds

The repository now uses the latest Process-PSModule release and builds the documentation site with Zensical. The site build remains enabled, and no contributor action is required beyond the existing workflow and documentation conventions.

Fixed: build and test compatibility

Dependency bounds, canonical documentation links, temporary download paths, and cache-fallback coverage now match the current pipeline expectations. The workflow passes only the API key it needs instead of inheriting all repository secrets.


Technical details
  • Updated .github/workflows/Process-PSModule.yml to Process-PSModule v6.1.19 and explicit APIKey wiring.
  • Updated actions/checkout to v7.0.1 in Update-FontsData.yml.
  • Replaced .github/mkdocs.yml with .github/zensical.toml; the site build is enabled in .github/PSModule.yml.
  • Updated Fonts and Admin dependency minimums and maximum bounds in Install-NerdFont.ps1.
  • Switched font downloads to the system temporary directory.
  • Replaced mocked cache-fallback behavior with a live locked-file scenario.
  • Added trailing slashes to canonical documentation links and added the missing contribution/documentation guidance.
  • Standards and framework alignment:
Changed surfaceStandards checkedFramework docs checkedResult
.github/workflows/**GitHub Actions, secret handlingProcess-PSModule workflow contractAligned
.github/zensical.tomlDocumentation configurationProcess-PSModule site pipelineAligned
src/**, tests/**PowerShell dependencies, testingProcess-PSModule source/test checksAligned
README.md, CONTRIBUTING.mdDocumentationRepository contribution guidanceAligned
  • Issue convergence sweep: reviewed related open work and incorporated the system temporary-directory and README documentation changes in this delivery.
Relevant issues (or links)

Bumps the reusable workflow from v5.5.0 to v6.1.16.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
README.md referenced a contribution guide that did not exist.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Updates the checkout action used by the Update-FontsData workflow.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Replaces exact RequiredVersion pins with ModuleVersion + MaximumVersion
and bumps to the latest compatible Fonts and Admin releases.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Adds default mocks for Copy-Item and Move-Item so the cache-write path
no longer fails with a Pester mock exception after the cache-read throw.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 3, 2026 01:48

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs a “quality review” update across the NerdFonts PowerShell module repository, focusing on dependency/workflow bumps and small maintenance fixes (documentation + tests) to keep CI and module behavior aligned with upstream PSModule framework changes.

Changes:

  • Bump PSModule/Process-PSModule reusable workflow from v5.5.0 to v6.1.16 and update actions/checkout to v7.0.1 in Update-FontsData.yml.
  • Loosen #Requires -Modules constraints for Fonts and Admin in Install-NerdFont.ps1 by switching from fixed RequiredVersion to a version range.
  • Add CONTRIBUTING.md and adjust the cache-fallback Pester test mocks to avoid unintended mock failures on the cache-write path.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
FileDescription
tests/NerdFonts.Tests.ps1Adds default mocks for cache-write path in the cache-fallback test (but mock precedence likely needs adjustment).
src/functions/public/Install-NerdFont.ps1Updates module dependency requirements to a looser version range for Fonts and Admin.
CONTRIBUTING.mdAdds contribution guidelines to match existing README references.
.github/workflows/Update-FontsData.ymlBumps pinned actions/checkout to v7.0.1.
.github/workflows/Process-PSModule.ymlBumps pinned PSModule/Process-PSModule reusable workflow to v6.1.16.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment threadtests/NerdFonts.Tests.ps1 Outdated
@github-actions

github-actionsBot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Super-linter summary

LanguageValidation result
CHECKOVPass ✅
GITHUB_ACTIONSPass ✅
GITLEAKSPass ✅
GIT_MERGE_CONFLICT_MARKERSPass ✅
JSONPass ✅
MARKDOWNPass ✅
NATURAL_LANGUAGEPass ✅
POWERSHELLPass ✅
PRE_COMMITPass ✅
SPELL_CODESPELLPass ✅
TRIVYPass ✅
YAMLPass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

Process-PSModule v6 expects specific secrets rather than broad inherit.
This repository only requires the PowerShell Gallery API key.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
MaximumVersion accepts a wildcard-compatible version string, so use the
major-version ceiling directly rather than 1.999.999.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 3, 2026 01:53
- Switches dependency MaximumVersion to wildcard style (1.*) matching the
Pester #Requires pattern.
- Replaces mock-based cache-read failure with a real locked cache file so
the fallback path exercises actual Copy-Item behavior.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Suppressed comments (2)

tests/NerdFonts.Tests.ps1:283

  • These comments describe the issue as the "cache-read filter" no longer matching, but the underlying problem is that the cache-write Copy-Item/Move-Item calls don’t match the filtered mock. Rewording will make the intent clearer for future maintenance.
 [System.IO.FileAccess]::Read,
[System.IO.FileShare]::None

CONTRIBUTING.md:12

  • The documentation link in this new CONTRIBUTING guide points at msxorg.github.io/docs/Frameworks/Process-PSModule/, but the repo’s existing Process-PSModule reference points contributors to the GitHub README configuration docs. Using the same canonical link here avoids sending contributors to a potentially stale/incorrect URL.
2. Familiarize yourself with the PSModule framework documentation at
<https://msxorg.github.io/docs/Frameworks/Process-PSModule/>.

CopilotAI review requested due to automatic review settings August 3, 2026 01:57

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Adds a BeforeAll block that builds a dynamic module from the repository
source tree so local Pester runs exercise the current code, not an
installed gallery version.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 3, 2026 02:09
Process-PSModule already builds and installs the module before running
tests, so the tests should exercise the built/installed module rather
than loading source files directly.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

Suppressed comments (2)

tests/NerdFonts.Tests.ps1:32

  • The dynamic module loader relies on Get-ChildItem ordering when dot-sourcing files. File enumeration order can vary across platforms/filesystems, which can make the test harness brittle as additional source files are added. Sort the discovered file lists before dot-sourcing to ensure deterministic module initialization.
 }
It 'Returns a specific font' {
$font = Get-NerdFont -Name 'Tinos'
Write-Verbose ($font | Out-String) -Verbose

CONTRIBUTING.md:36

  • Import-Module ./src will fail because src/ does not contain a module manifest (.psd1) or script module (.psm1). Since the tests now import the source tree dynamically, the development instructions should call Pester directly (and optionally reference the test harness) rather than importing ./src.
```powershell
Import-Module ./src
Invoke-Pester
</details>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.

The PSModule source-code test expects public function help links to use
the canonical URL ending in '/'.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 3, 2026 02:46
Process-PSModule v6 requires a zensical.toml documentation config for
site generation. The repository does not have one, so skip the site
build step to unblock the v6 workflow.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 3, 2026 03:10

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.

Process-PSModule v6 builds the documentation site with Zensical, which
expects a zensical.toml configuration file. This replaces the legacy
.github/mkdocs.yml with an equivalent .github/zensical.toml so the site
build can run instead of being skipped.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
CopilotAI review requested due to automatic review settings August 3, 2026 03:25
Quote dotted extension keys (pymdownx.details, pymdownx.superfences) to
comply with TOML bare-key rules, and remove the redundant search plugin
section because Zensical enables search by default.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

CopilotAI review requested due to automatic review settings August 3, 2026 03:27

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.

Suppressed comments (2)

.github/PSModule.yml:21

  • .github/PSModule.yml now sets Build.Site.Skip: true, which disables the site generation step. That appears to conflict with this PR’s stated goal of migrating the documentation site config to .github/zensical.toml for v6 site generation and linking to generated docs in the README. If the site should still be generated, this should be removed or set to false.
Build:
Site:
Skip: true

tests/NerdFonts.Tests.ps1:283

  • This test expects Copy-Item to fail due to [System.IO.File]::Open(..., FileShare::None), but on non-Windows runners Copy-Item/File.Copy may not reliably honor these share-mode locks. That can cause the test to stop exercising the cache-fallback path and become a cache-hit test instead.
 $fileLock = [System.IO.File]::Open(
$cachedFile,
[System.IO.FileMode]::Open,
[System.IO.FileAccess]::Read,
[System.IO.FileShare]::None

@MariusStorhaugMarius Storhaug (MariusStorhaug) changed the title Quality review: bump Process-PSModule to v6.1.16chore: migrate to Process-PSModule v6.1.16 and align CI/docsAug 8, 2026
@MariusStorhaugMarius Storhaug (MariusStorhaug) changed the title chore: migrate to Process-PSModule v6.1.16 and align CI/docs⚙️ [Maintenance]: CI and documentation builds use the current Process-PSModule pipelineAug 8, 2026
Use the latest Process-PSModule release, including the upstream wildcard
MaximumVersion fix.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@MariusStorhaugMarius Storhaug (MariusStorhaug) changed the title ⚙️ [Maintenance]: CI and documentation builds use the current Process-PSModule pipeline⚙️ [Maintenance]: CI and documentation builds use Process-PSModule v6.1.17Aug 8, 2026
Use the latest Process-PSModule release for the reusable workflow.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@MariusStorhaugMarius Storhaug (MariusStorhaug) changed the title ⚙️ [Maintenance]: CI and documentation builds use Process-PSModule v6.1.17⚙️ [Maintenance]: CI and documentation builds use Process-PSModule v6.1.19Aug 8, 2026
@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review August 8, 2026 17:08
@MariusStorhaug
Marius Storhaug (MariusStorhaug) merged commit f11f6a9 into mainAug 8, 2026
28 checks passed
@MariusStorhaug
Marius Storhaug (MariusStorhaug) deleted the quality-review-bump-process-psmodule branch August 8, 2026 17:08
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@MariusStorhaug