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

@MariusStorhaug Marius 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 surface Standards checked Framework docs checked Result
.github/workflows/** GitHub Actions, secret handling Process-PSModule workflow contract Aligned
.github/zensical.toml Documentation configuration Process-PSModule site pipeline Aligned
src/**, tests/** PowerShell dependencies, testing Process-PSModule source/test checks Aligned
README.md, CONTRIBUTING.md Documentation Repository contribution guidance Aligned
  • 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>
Copilot AI review requested due to automatic review settings August 3, 2026 01:48

Copilot AI 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
File Description
tests/NerdFonts.Tests.ps1 Adds default mocks for cache-write path in the cache-fallback test (but mock precedence likely needs adjustment).
src/functions/public/Install-NerdFont.ps1 Updates module dependency requirements to a looser version range for Fonts and Admin.
CONTRIBUTING.md Adds contribution guidelines to match existing README references.
.github/workflows/Update-FontsData.yml Bumps pinned actions/checkout to v7.0.1.
.github/workflows/Process-PSModule.yml Bumps 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 thread tests/NerdFonts.Tests.ps1 Outdated
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Super-linter summary

Language Validation result
CHECKOV Pass ✅
GITHUB_ACTIONS Pass ✅
GITLEAKS Pass ✅
GIT_MERGE_CONFLICT_MARKERS Pass ✅
JSON Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
POWERSHELL Pass ✅
PRE_COMMIT Pass ✅
SPELL_CODESPELL Pass ✅
TRIVY Pass ✅
YAML Pass ✅

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>
Copilot AI 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>

Copilot AI 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/>.

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

Copilot AI 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>
Copilot AI 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>

Copilot AI 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>

Copilot AI 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>
Copilot AI 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>
Copilot AI review requested due to automatic review settings August 3, 2026 03:10

Copilot AI 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>
Copilot AI 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>

Copilot AI 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.

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

Copilot AI 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

@MariusStorhaug Marius Storhaug (MariusStorhaug) changed the title Quality review: bump Process-PSModule to v6.1.16 chore: migrate to Process-PSModule v6.1.16 and align CI/docs Aug 8, 2026
@MariusStorhaug Marius 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 pipeline Aug 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>
@MariusStorhaug Marius 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.17 Aug 8, 2026
Use the latest Process-PSModule release for the reusable workflow.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@MariusStorhaug Marius 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.19 Aug 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 main Aug 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 free to 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