Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 8 additions & 75 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,80 +1,13 @@
name: CI
on:
push:
branches: [main]
paths:
- "PSDepend/**"
- "Tests/**"
- "build.ps1"
- "psakeFile.ps1"
- "requirements.psd1"
pull_request:
paths:
- "PSDepend/**"
- "Tests/**"
- "build.ps1"
- "psakeFile.ps1"
- "requirements.psd1"
workflow_dispatch:

permissions:
checks: write
pull-requests: write
contents: read
issues: write
jobs:
test_pwsh:
name: Test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
permissions:
contents: read
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v6
- name: Bootstrap
shell: pwsh
run: ./build.ps1 -Bootstrap -Task Init
- name: Test
shell: pwsh
run: ./build.ps1 -Task Test
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v7
with:
name: testResults-${{ matrix.os }}
path: ./Tests/out/testResults.xml

test_ps51:
name: Test (Windows PowerShell 5.1)
runs-on: windows-latest
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- name: Bootstrap
shell: powershell
run: ./build.ps1 -Bootstrap -Task Init
- name: Test
shell: powershell
run: ./build.ps1 -Task Test
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v7
with:
name: testResults-ps51
path: ./Tests/out/testResults.xml
publish-test-results:
name: Publish Test Results
needs:
- test_pwsh
- test_ps51
runs-on: ubuntu-latest
permissions:
checks: write
pull-requests: write
if: ${{ !cancelled() }}
steps:
- uses: actions/download-artifact@v8
with:
path: artifacts
- uses: EnricoMi/publish-unit-test-result-action@v2
with:
files: artifacts/**/*.xml
ci:
name: Continuous Integration
uses: PowerShellOrg/.github/.github/workflows/powershell-ci.yml@main
32 changes: 32 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Publish Module
on:
push:
branches:
- main
workflow_dispatch:
inputs:
version:
description: "The version to publish. Leave empty to use the version in the module manifest."
required: false
type: string
isPrerelease:
description: "Is this a prerelease version?"
required: false
type: boolean
default: false
dry_run:
description: "If true, skip actual publishing and just validate the workflow logic."
required: false
type: boolean
default: false
permissions:
contents: write
jobs:
publish:
name: Publish Module
uses: PowerShellOrg/.github/.github/workflows/powershell-release.yml@main
with:
version: ${{ inputs.version || '' }}
isPrerelease: ${{ inputs.isPrerelease || false }}
dry_run: ${{ inputs.dry_run || false }}
secrets: inherit
8 changes: 7 additions & 1 deletion psakeFile.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
if (-not $IsWindows) {
$PSBPreference.Test.ExcludeTagFilter = @('WindowsOnly')
}

$PSBPreference.Publish.ApiKey = $env:PSGALLERY_API_KEY

Check warning on line 26 in psakeFile.ps1

View workflow job for this annotation

GitHub Actions / Continuous Integration / Run Linters

Unknown word (PSGALLERY) Suggestions: (psaltery, spaller, psaltry, psalter, psalters)
}

# Pre-set before -FromModule so PowerShellBuild 0.7.x's null-check doesn't override it.
Expand All @@ -31,7 +33,11 @@

# Override with: .\build.ps1 InstallLocal -Properties @{PreReleaseLabel='rc1'}
Task InstallLocal -Depends StageFiles {
$label = if ($PreReleaseLabel) { $PreReleaseLabel } else { "pre-$(git rev-parse --short HEAD)" }
$label = if ($PreReleaseLabel) {
$PreReleaseLabel
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[PSScriptAnalyzer] reported by reviewdog 🐶

Suggested change
$PreReleaseLabel
$PreReleaseLabel

} else {
"pre-$(git rev-parse --short HEAD)"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[PSScriptAnalyzer] reported by reviewdog 🐶

Suggested change
"pre-$(git rev-parse --short HEAD)"
"pre-$(git rev-parse --short HEAD)"

}

$moduleName = $PSBPreference.General.ModuleName
$stagedDir = $PSBPreference.Build.ModuleOutDir
Expand Down
Loading