From fa65c18bc171e9a5b7882958b25a38af9cd79990 Mon Sep 17 00:00:00 2001 From: GraceSolutions Date: Tue, 2 Jun 2026 13:25:18 -0400 Subject: [PATCH] Strengthen import validation (manifest + help) and harden Gitea workflow --- .gitea/workflows/publish-psgallery.yml | 43 +++++++++++++- CHANGELOG.md | 56 +++++++++++++++++-- Module/PSInfisicalAPI/PSInfisicalAPI.psd1 | 4 +- Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll | Bin 70144 -> 70144 bytes build.ps1 | 26 +++++++-- 5 files changed, 115 insertions(+), 14 deletions(-) diff --git a/.gitea/workflows/publish-psgallery.yml b/.gitea/workflows/publish-psgallery.yml index bb33266..3db6610 100644 --- a/.gitea/workflows/publish-psgallery.yml +++ b/.gitea/workflows/publish-psgallery.yml @@ -20,10 +20,48 @@ jobs: with: dotnet-version: '8.0.x' - - name: Build and test module + - name: Install PowerShell 7 (if not present) + shell: bash + run: | + set -euo pipefail + if command -v pwsh >/dev/null 2>&1; then + echo "pwsh already installed: $(pwsh --version)" + exit 0 + fi + + sudo apt-get update + sudo apt-get install -y --no-install-recommends wget ca-certificates apt-transport-https gnupg + + source /etc/os-release + wget -q "https://packages.microsoft.com/config/ubuntu/${VERSION_ID}/packages-microsoft-prod.deb" -O /tmp/ms-prod.deb + sudo dpkg -i /tmp/ms-prod.deb + rm -f /tmp/ms-prod.deb + + sudo apt-get update + sudo apt-get install -y powershell + pwsh --version + + - name: Bootstrap PowerShellGet / NuGet provider shell: pwsh run: | - ./build.ps1 -RunTests + $ErrorActionPreference = 'Stop' + Set-PSRepository -Name PSGallery -InstallationPolicy Trusted + if (-not (Get-PackageProvider -Name NuGet -ListAvailable -ErrorAction SilentlyContinue)) { + Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force -Scope CurrentUser | Out-Null + } + Get-PackageProvider -Name NuGet | Format-Table Name,Version + + - name: Build and test module + shell: pwsh + run: ./build.ps1 -RunTests + + - name: Validate module manifest + shell: pwsh + run: | + $ErrorActionPreference = 'Stop' + $manifestPath = Join-Path $PWD 'Module/PSInfisicalAPI/PSInfisicalAPI.psd1' + $manifest = Test-ModuleManifest -Path $manifestPath + Write-Host "Manifest OK: $($manifest.Name) $($manifest.Version)" - name: Verify PowerShell Gallery API key is configured shell: pwsh @@ -39,6 +77,7 @@ jobs: env: PSGALLERY_API_KEY: ${{ secrets.PSGALLERY_API_KEY }} run: | + $ErrorActionPreference = 'Stop' $moduleDir = Join-Path $PWD 'Module/PSInfisicalAPI' Write-Host "Publishing module from: $moduleDir" Publish-Module ` diff --git a/CHANGELOG.md b/CHANGELOG.md index 97db1a1..25eb16d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,11 +6,23 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos ## Unreleased +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) + ## 2026.06.02.1648 - Build produced from commit 430e3a00c921. -## Unreleased (carried forward) +## Unreleased + +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) (carried forward) ## 2026.06.02.1638 @@ -18,11 +30,23 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos ## Unreleased +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) + ## 2026.06.02.1648 - Build produced from commit 430e3a00c921. -## Unreleased (carried forward) (carried forward) +## Unreleased + +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) (carried forward) (carried forward) ## 2026.06.02.1611 @@ -30,11 +54,23 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos ## Unreleased +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) + ## 2026.06.02.1648 - Build produced from commit 430e3a00c921. -## Unreleased (carried forward) +## Unreleased + +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) (carried forward) ## 2026.06.02.1638 @@ -42,11 +78,23 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos ## Unreleased +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) + ## 2026.06.02.1648 - Build produced from commit 430e3a00c921. -## Unreleased (carried forward) (carried forward) (carried forward) +## Unreleased + +## 2026.06.02.1724 + +- Build produced from commit 5801b4774af5. + +## Unreleased (carried forward) (carried forward) (carried forward) (carried forward) ### Added diff --git a/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 b/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 index 19a18ea..f69c71f 100644 --- a/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 +++ b/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 @@ -1,6 +1,6 @@ @{ RootModule = 'PSInfisicalAPI.psm1' - ModuleVersion = '2026.06.02.1648' + ModuleVersion = '2026.06.02.1724' GUID = 'b8a2f3d4-7c51-4d2f-9e6a-1f0c8b3d4e51' Author = 'Grace Solutions' CompanyName = 'Grace Solutions' @@ -27,7 +27,7 @@ LicenseUri = 'https://www.gnu.org/licenses/agpl-3.0.html' ProjectUri = 'https://prod.git.gracesolution.info/gsadmin/PSInfisicalAPI' ReleaseNotes = 'See CHANGELOG.md in the project repository for release history.' - CommitHash = '430e3a00c921' + CommitHash = '5801b4774af5' } } } \ No newline at end of file diff --git a/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll b/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll index aba2d233e7e7e2b02726a90ff881a198f82a6526..82cda94a2c57bf4743c5bcd3d9256daff44d2079 100644 GIT binary patch delta 348 zcmZoz!qTvWWkLtbwZl&?ZtRg*%D89q(xuJ*0*o8%#jmdN^`0C5Iwaia->l6RU*-9E zOf3uylT6IbO%l^grzf*88abOAndliXFxWCOSQr@?ndun-k&&JuP*@vTahj2(Ws+s0 zNs^JJVX|qmu~ABLin)cEL2{yj;r1IWj0;#<*fRt^Ot0Z$3=l{?@4kiQQ;1*Bm&m8P zFaA9^{SFsnnF3UF9!wOZzGuCN$mYHE7AYbt*KaT4W|U!M-^0en@QQuU_NhFK(TuF- z3`Ptl+rRQMIx~iY*$mnYrVJJg1`LJ_Nem_o=0Iq|kjRh*6ioxFwFJT>AWj5|CV}~e y49P&bWCmj(F9k@a0CiX}m;p^l2C4#@Grgam(UB8kxE_PSWJ5;H?MwoU{}=)5!(_++ delta 348 zcmZoz!qTvWWkLrFdwp=<#vX~Kj0KyQE^YP~2>qxNvP*e~|0KT-sS79n|JZEtRi2;6 z#MmI!IMKi$+0w{xdNK>6k+YeJg`NQegDoS2g^_`gnVta<8R;1Ug|(3tn;Dv#rCO#~ zm?xPfnHVKmSR|PzCYu?+V6qO!e+n^A_5y?~94;T3zq_NhFK(TuES z3?>W~+rRQMIx~iY*$mo15n~1ehEyP#2&4@dk{K)+j2H|V%z)SwNTve$DGU}2<_t+d zUJ_8f5s