-
Notifications
You must be signed in to change notification settings - Fork 6
48 lines (39 loc) · 1.29 KB
/
Publish.yml
File metadata and controls
48 lines (39 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
name: Publish Module
on:
push:
tags:
- '*'
workflow_dispatch:
defaults:
run:
shell: pwsh
jobs:
Publish:
runs-on: ubuntu-latest
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
- name: 📦 Install ModuleTools module form PSGallery
run: Install-PSResource -Repository PSGallery -Name ModuleTools -TrustRepository
- name: 🏗️ Build Module
run: Invoke-MTBuild -Verbose
- name: 🧪 Run Pester Tests
run: Invoke-MTTest
- name: 📝 Generate Report
continue-on-error: true
run: |
# Get list of files in the dist directory directory
$Report = New-MDHeader -Text "Output Files 📁" -Level 2
$Report += Get-ChildItem -Path ./dist -Recurse | Select-Object Name, Directory | New-MDTable
echo "$Report" >> $env:GITHUB_STEP_SUMMARY
echo "$Report"
- name: 🚀 Publish Package to PSGallery
run: |
try {
Publish-PSResource -Path ./dist/ModuleTools -Repository PSGallery -ApiKey $Env:ApiKey -Verbose
} catch {
Write-Error "Publishing to PSGallery failed: $($_.Exception.Message)"
exit 1 # Fail the workflow on error
}
env:
ApiKey: ${{ secrets.PSGALLERY_API }}