Skip to content

Commit c6a4156

Browse files
vicperdanaCopilot
andcommitted
fix: CI bootstrap and build reliability
- Install InvokeBuild in build-psdocs job (was missing, causing failure) - Trust PSGallery in pipeline-deps.ps1 (avoids interactive prompts on CI) - Fix hashFiles glob: use /** pattern instead of directory path - Fix PSModulePath separator: use [IO.Path]::PathSeparator for cross-platform - Expand CI path filter to include root build files and scripts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 0fdce5d commit c6a4156

3 files changed

Lines changed: 10 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ jobs:
3535
BASE_SHA="${{ github.event.pull_request.base.sha }}"
3636
fi
3737
CHANGED=$(git diff --name-only "$BASE_SHA" "${{ github.sha }}" 2>/dev/null || echo "")
38-
echo "psdocs=$(echo "$CHANGED" | grep -qE '^(packages/psdocs/|build/)' && echo true || echo false)" >> $GITHUB_OUTPUT
39-
echo "psdocs-azure=$(echo "$CHANGED" | grep -qE '^(packages/psdocs-azure/|packages/psdocs/|build/)' && echo true || echo false)" >> $GITHUB_OUTPUT
40-
echo "vscode=$(echo "$CHANGED" | grep -qE '^packages/vscode-extension/' && echo true || echo false)" >> $GITHUB_OUTPUT
38+
echo "psdocs=$(echo "$CHANGED" | grep -qE '^(packages/psdocs/|build/|scripts/|build\.ps1)' && echo true || echo false)" >> $GITHUB_OUTPUT
39+
echo "psdocs-azure=$(echo "$CHANGED" | grep -qE '^(packages/psdocs-azure/|packages/psdocs/|build/|scripts/|build\.ps1)' && echo true || echo false)" >> $GITHUB_OUTPUT
40+
echo "vscode=$(echo "$CHANGED" | grep -qE '^(packages/vscode-extension/|\.github/workflows/vscode-ci\.yml)' && echo true || echo false)" >> $GITHUB_OUTPUT
4141
4242
build-psdocs:
4343
needs: changes
@@ -56,6 +56,8 @@ jobs:
5656
- name: Setup PowerShell
5757
shell: pwsh
5858
run: |
59+
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
60+
Install-Module -Name InvokeBuild -MinimumVersion 5.4.0 -Scope CurrentUser -Force
5961
if (Test-Path packages/psdocs/pipeline.build.ps1) {
6062
Set-Location packages/psdocs
6163
Invoke-Build Build -File ./pipeline.build.ps1
@@ -72,7 +74,7 @@ jobs:
7274
}
7375
7476
- name: Upload PSDocs Module
75-
if: success() && hashFiles('packages/psdocs/out/modules/PSDocs/') != ''
77+
if: success() && hashFiles('packages/psdocs/out/modules/PSDocs/**') != ''
7678
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
7779
with:
7880
name: psdocs-module

build/common.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ function Get-LocalPSDocsModule {
7777

7878
if (Test-Path $localModule) {
7979
Write-Host "Using local PSDocs module from: $localModule"
80-
$env:PSModulePath = "$localModule;$env:PSModulePath"
80+
$env:PSModulePath = "$localModule$([IO.Path]::PathSeparator)$env:PSModulePath"
8181
return $true
8282
}
8383

scripts/pipeline-deps.ps1

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ if ($Env:SYSTEM_DEBUG -eq 'true') {
99
$VerbosePreference = 'Continue';
1010
}
1111

12+
# Trust PSGallery to avoid interactive prompts on CI
13+
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted;
14+
1215
if ($Null -eq (Get-PackageProvider -Name NuGet -ErrorAction Ignore)) {
1316
Install-PackageProvider -Name NuGet -Force -Scope CurrentUser;
1417
}

0 commit comments

Comments
 (0)