Skip to content

Commit

Permalink
Merge pull request #39 from leojonathanoh/enhancement/ci-bump-psmodul…
Browse files Browse the repository at this point in the history
…epublisher-to-v0.7.0

Enhancement (ci): Bump PSModulePublisher to `v0.7.0`
  • Loading branch information
leojonathanoh authored Mar 16, 2024
2 parents e3e05ac + 827dc70 commit a0296e4
Show file tree
Hide file tree
Showing 6 changed files with 96 additions and 203 deletions.
245 changes: 75 additions & 170 deletions .github/workflows/ci-master-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,103 +11,27 @@ on:
- master

jobs:
test-powershell-5-1-windows-2016:
runs-on: windows-2016
steps:
- uses: actions/checkout@v2
- name: Display system info (windows)
run: |
Set-StrictMode -Version Latest; $ErrorActionPreference = 'Stop'
hostname
whoami
systeminfo
Get-PSDrive
Get-Location
# pwsh version
$PSVersionTable
# Windows Powershell version?
powershell -Command '$PSVersionTable'
- name: Powershell version
run: |
powershell -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
- name: Test
run: |
powershell -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
test-powershell-5-1-windows-2019:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
- name: Display system info (windows)
run: |
Set-StrictMode -Version Latest; $ErrorActionPreference = 'Stop'
hostname
whoami
systeminfo
Get-PSDrive
Get-Location
# pwsh version
$PSVersionTable
# Windows Powershell version?
powershell -Command '$PSVersionTable'
- uses: actions/checkout@v3
- name: Powershell version
run: |
powershell -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
- name: Test
run: |
powershell -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
# ubuntu-16-04:
# runs-on: ubuntu-16.04
# steps:
# - uses: actions/checkout@v2
# - name: Display system info (linux)
# run: |
# set -e
# hostname
# whoami
# cat /etc/*release
# lscpu
# free
# df -h
# pwd
# docker info
# docker version

# macos-10-15:
# runs-on: macos-10.15
# steps:
# - uses: actions/checkout@v2
# - name: Display system info (macos)
# run: |
# set -e
# hostname
# whoami
# df -h
# pwd
# # docker info
# # docker version

##########
# Docker #
##########
# Get powershell tags: https://mcr.microsoft.com/v2/powershell/tags/list
test-powershell-6-0:
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
container:
# image: theohbrothers/docker-powershell:6.0.2-ubuntu-16.04-git
image: mcr.microsoft.com/powershell:6.0.2-ubuntu-16.04
steps:
- uses: actions/checkout@v2
- name: Display system info (linux)
run: |
set -e
hostname
whoami
cat /etc/*release
lscpu
free
df -h
pwd
- uses: actions/checkout@v3
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
Expand All @@ -116,23 +40,11 @@ jobs:
pwsh -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
test-powershell-6-1:
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
container:
# image: theohbrothers/docker-powershell:6.1.3-alpine-3.8-git
# image: mcr.microsoft.com/powershell:6.1.3-alpine-3.8
image: mcr.microsoft.com/powershell:6.1.3-ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Display system info (linux)
run: |
set -e
hostname
whoami
cat /etc/*release
# lscpu
free
df -h
pwd
- uses: actions/checkout@v3
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
Expand All @@ -141,23 +53,11 @@ jobs:
pwsh -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
test-powershell-6-2:
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
container:
# image: theohbrothers/docker-powershell:6.2.4-alpine-3.8-git
# image: mcr.microsoft.com/powershell:6.2.4-alpine-3.8
image: mcr.microsoft.com/powershell:6.2.4-ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Display system info (linux)
run: |
set -e
hostname
whoami
cat /etc/*release
# lscpu
free
df -h
pwd
- uses: actions/checkout@v3
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
Expand All @@ -166,23 +66,11 @@ jobs:
pwsh -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
test-powershell-7-0:
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
container:
# image: theohbrothers/docker-powershell:7.0.3-alpine-3.9-20200928
# image: mcr.microsoft.com/powershell:7.0.3-alpine-3.9
image: mcr.microsoft.com/powershell:7.0.3-ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Display system info (linux)
run: |
set -e
hostname
whoami
cat /etc/*release
# lscpu
free
df -h
pwd
- uses: actions/checkout@v3
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
Expand All @@ -191,23 +79,11 @@ jobs:
pwsh -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
test-powershell-7-1:
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
container:
# image: theohbrothers/docker-powershell:7.1.3-alpine-3.11-20210316-git
# image: mcr.microsoft.com/powershell:7.1.3-alpine-3.11-20210316
image: mcr.microsoft.com/powershell:7.1.3-ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Display system info (linux)
run: |
set -e
hostname
whoami
cat /etc/*release
# lscpu
free
df -h
pwd
- uses: actions/checkout@v3
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
Expand All @@ -216,23 +92,11 @@ jobs:
pwsh -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
test-powershell-7-2:
runs-on: ubuntu-16.04
runs-on: ubuntu-latest
container:
# image: theohbrothers/docker-powershell:7.2.0-preview.4-alpine-3.11-20210316-git
# image: mcr.microsoft.com/powershell:7.2.0-preview.4-alpine-3.11-20210316
image: mcr.microsoft.com/powershell:7.2.0-preview.4-ubuntu-18.04
image: mcr.microsoft.com/powershell:7.2.2-ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Display system info (linux)
run: |
set -e
hostname
whoami
cat /etc/*release
# lscpu
free
df -h
pwd
- uses: actions/checkout@v3
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
Expand All @@ -241,54 +105,95 @@ jobs:
pwsh -NoLogo -NonInteractive -NoProfile -Command './test/test.ps1'
update-draft-release:
needs: [test-powershell-5-1-windows-2016, test-powershell-5-1-windows-2019, test-powershell-6-0, test-powershell-6-1, test-powershell-6-1, test-powershell-7-0, test-powershell-7-1, test-powershell-7-2]
needs:
- test-powershell-5-1-windows-2019
- test-powershell-6-0
- test-powershell-6-1
- test-powershell-6-2
- test-powershell-7-0
- test-powershell-7-1
- test-powershell-7-2
- test-publish-to-psgallery
if: github.ref == 'refs/heads/master'
runs-on: ubuntu-latest
steps:
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter.yml
publish: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

test-publish-to-psgallery:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
- name: Publish (dry run)
shell: pwsh
env:
MODULE_VERSION: '999.0.0'
NUGET_API_KEY: 'xxx'
run: |
$ErrorActionPreference = 'Stop'
# Generate the new module manifest
$moduleManifest = ./build/PSModulePublisher/src/PSModulePublisher/Public/Invoke-Build.ps1
# Publish the module
./build/PSModulePublisher/src/PSModulePublisher/Public/Invoke-Publish.ps1 -ModuleManifestPath $moduleManifest -Repository PSGallery -DryRun
publish-to-psgallery:
needs: [test-powershell-5-1-windows-2016, test-powershell-5-1-windows-2019, test-powershell-6-0, test-powershell-6-1, test-powershell-6-1, test-powershell-7-0, test-powershell-7-1, test-powershell-7-2]
needs:
- test-powershell-5-1-windows-2019
- test-powershell-6-0
- test-powershell-6-1
- test-powershell-6-2
- test-powershell-7-0
- test-powershell-7-1
- test-powershell-7-2
- test-publish-to-psgallery
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: true
- name: Powershell version
run: |
pwsh -NoLogo -NonInteractive -NoProfile -Command '$PSVersionTable'
- name: Publish
shell: pwsh
env:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
run: |
set -e
# Get 'ref-name' from 'refs/heads/ref-name'
REF=$( echo "${GITHUB_REF}" | rev | cut -d '/' -f 1 | rev )
$ErrorActionPreference = 'Stop'
# Strip of 'v' prefix from tag
MODULE_VERSION=$( echo "${REF}" | sed 's/^v*//' )
$env:MODULE_VERSION = $env:GITHUB_REF_NAME -replace '^v', ''
# Generate the new module manifest
MODULE_NAME=$(basename $(pwd))
MODULE_VERSION=${MODULE_VERSION} pwsh -Command "build/PSModulePublisher/src/module/Generate-ModuleManifest.ps1 -DefinitionFile build/definitions/modulemanifest/definition.ps1 -Path src/$MODULE_NAME/$MODULE_NAME.psd1"
$moduleManifest = ./build/PSModulePublisher/src/PSModulePublisher/Public/Invoke-Build.ps1
# Publish the module
NUGET_API_KEY=${NUGET_API_KEY} MODULE_VERSION=${MODULE_VERSION} pwsh -Command "build/PSModulePublisher/src/Invoke-Publish.ps1 -ModuleManifestPath src/$MODULE_NAME/$MODULE_NAME.psd1 -Repository PSGallery"
./build/PSModulePublisher/src/PSModulePublisher/Public/Invoke-Publish.ps1 -ModuleManifestPath $moduleManifest -Repository PSGallery
publish-draft-release:
needs: [test-powershell-5-1-windows-2016, test-powershell-5-1-windows-2019, test-powershell-6-0, test-powershell-6-1, test-powershell-6-1, test-powershell-7-0, test-powershell-7-1, test-powershell-7-2, publish-to-psgallery]
needs: [publish-to-psgallery]
if: startsWith(github.ref, 'refs/tags/')
runs-on: ubuntu-latest
steps:
- id: release-drafter
uses: release-drafter/release-drafter@v5
with:
# config-name: release-drafter.yaml
publish: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Drafts your next Release notes as Pull Requests are merged into "master"
- uses: release-drafter/release-drafter@v5
with:
config-name: release-drafter.yml
publish: true
name: ${{ github.ref_name }} # E.g. 'master' or 'v1.2.3'
tag: ${{ github.ref_name }} # E.g. 'master' or 'v1.2.3'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Loading

0 comments on commit a0296e4

Please sign in to comment.