Skip to content

Commit

Permalink
Merge pull request #13 from santisq/12-create-command-completer-class…
Browse files Browse the repository at this point in the history
…-and-pester-tests

12 create command completer class and pester tests
  • Loading branch information
santisq authored Jun 28, 2023
2 parents d02cadc + eb44912 commit 1da5fd5
Show file tree
Hide file tree
Showing 25 changed files with 1,860 additions and 826 deletions.
148 changes: 148 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: PSParallelPipeline Workflow
on:
push:
branches:
- main

pull_request:
branches:
- main

release:
types:
- published

env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
DOTNET_NOLOGO: true
BUILD_CONFIGURATION: ${{ fromJSON('["Debug", "Release"]')[startsWith(github.ref, 'refs/tags/v')] }}

jobs:
build:
name: build
runs-on: windows-latest
steps:
- name: Check out repository
uses: actions/checkout@v3

- name: Build module - Debug
shell: pwsh
run: ./build.ps1 -Configuration $env:BUILD_CONFIGURATION -Task Build
if: ${{ env.BUILD_CONFIGURATION == 'Debug' }}

- name: Build module - Publish
shell: pwsh
run: ./build.ps1 -Configuration $env:BUILD_CONFIGURATION -Task Build
if: ${{ env.BUILD_CONFIGURATION == 'Release' }}

- name: Capture PowerShell Module
uses: actions/upload-artifact@v3
with:
name: PSModule
path: output/*.nupkg

test:
name: test
needs:
- build
runs-on: ${{ matrix.info.os }}
strategy:
fail-fast: false
matrix:
info:
- name: PS_5.1
psversion: '5.1'
os: windows-latest
- name: PS_7_Windows
psversion: '7'
os: windows-latest
- name: PS_7_Linux
psversion: '7'
os: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Restore Built PowerShell Module
uses: actions/download-artifact@v3
with:
name: PSModule
path: output

- name: Install Built PowerShell Module
shell: pwsh
run: |
$manifestItem = Get-Item ([IO.Path]::Combine('Module', '*.psd1'))
$moduleName = $manifestItem.BaseName
$manifest = Test-ModuleManifest -Path $manifestItem.FullName -ErrorAction SilentlyContinue -WarningAction Ignore
$destPath = [IO.Path]::Combine('output', $moduleName, $manifest.Version)
if (-not (Test-Path -LiteralPath $destPath)) {
New-Item -Path $destPath -ItemType Directory | Out-Null
}
Get-ChildItem output/*.nupkg | Rename-Item -NewName { $_.Name -replace '.nupkg', '.zip' }
Expand-Archive -Path output/*.zip -DestinationPath $destPath -Force -ErrorAction Stop
- name: Run Tests - Windows PowerShell
if: ${{ matrix.info.psversion == '5.1' }}
shell: pwsh
run: |
powershell.exe -NoProfile -File ./build.ps1 -Configuration $env:BUILD_CONFIGURATION -Task Test
exit $LASTEXITCODE
- name: Run Tests - PowerShell
if: ${{ matrix.info.psversion != '5.1' }}
shell: pwsh
run: |
pwsh -NoProfile -File ./build.ps1 -Configuration $env:BUILD_CONFIGURATION -Task Test
exit $LASTEXITCODE
- name: Upload Test Results
if: always()
uses: actions/upload-artifact@v3
with:
name: Unit Test Results (${{ matrix.info.name }})
path: ./output/TestResults/Pester.xml

- name: Upload Coverage Results
if: always() && !startsWith(github.ref, 'refs/tags/v')
uses: actions/upload-artifact@v3
with:
name: Coverage Results (${{ matrix.info.name }})
path: ./output/TestResults/Coverage.xml

- name: Upload Coverage to codecov
if: always() && !startsWith(github.ref, 'refs/tags/v')
uses: codecov/codecov-action@v3
with:
files: ./output/TestResults/Coverage.xml
flags: ${{ matrix.info.name }}

publish:
name: publish
if: startsWith(github.ref, 'refs/tags/v')
needs:
- build
- test
runs-on: windows-latest
steps:
- name: Restore Built PowerShell Module
uses: actions/download-artifact@v3
with:
name: PSModule
path: ./

- name: Publish to Gallery
if: github.event_name == 'release'
shell: pwsh
run: >-
dotnet nuget push '*.nupkg'
--api-key $env:PSGALLERY_TOKEN
--source 'https://www.powershellgallery.com/api/v2/package'
--no-symbols
env:
PSGALLERY_TOKEN: ${{ secrets.PSGALLERY_TOKEN }}
21 changes: 0 additions & 21 deletions .github/workflows/ondemand publish.yml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/release publish.yml

This file was deleted.

Loading

0 comments on commit 1da5fd5

Please sign in to comment.