Skip to content

Updating pester stuff2 #91

Updating pester stuff2

Updating pester stuff2 #91

Workflow file for this run

# We use `MainLine Development`. See https://gitversion.net/docs/reference/modes/mainline
name: Publish to PowerShell Gallery
on:
push:
branches:
- main
paths-ignore:
- '**.md'
- '.all-contributorsrc'
jobs:
build:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: GitVersion
id: gitversion
uses: PoshCode/Actions/gitversion@v1
- name: Install-RequiredModules
uses: PoshCode/Actions/install-requiredmodules@v1
- name: Build Module
id: build
uses: PoshCode/actions/build-module@v1
with:
path: ${{github.workspace}}/Source
version: ${{ steps.gitversion.outputs.LegacySemVerPadded }}
destination: ${{github.workspace}}/output
- name: Upload Build Output
uses: actions/upload-artifact@v3
with:
name: Modules
path: ${{github.workspace}}/output
- name: Upload Tests
uses: actions/upload-artifact@v3
with:
name: PesterTests
path: ${{github.workspace}}/Tests
- name: Upload RequiredModules.psd1
uses: actions/upload-artifact@v3
with:
name: RequiredModules
path: ${{github.workspace}}/RequiredModules.psd1
- name: Upload PSScriptAnalyzerSettings.psd1
uses: actions/upload-artifact@v3
with:
name: ScriptAnalyzer
path: ${{github.workspace}}/PSScriptAnalyzerSettings.psd1
lint:
needs: build
name: Run PSScriptAnalyzer
runs-on: ubuntu-latest
steps:
- name: Download Build Output
uses: actions/download-artifact@v3
- name: Invoke-ScriptAnalyzer
uses: devblackops/github-action-psscriptanalyzer@master
with:
rootPath: Modules/F7History
repoToken: ${{ secrets.GITHUB_TOKEN }}
test:
needs: build
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- name: Download Build Output
uses: actions/download-artifact@v3
# see https://github.com/Jaykul/RequiredModules/issues/6
- name: Manually Install Modules F7History is dependent on
shell: pwsh
run: |
Install-Module -Name Microsoft.PowerShell.ConsoleGuiTools -Force -SkipPublisherCheck -Scope CurrentUser
Install-Module -Name PSReadLine -Force -SkipPublisherCheck -Scope CurrentUser
Install-Module -Name Pester -Force -SkipPublisherCheck -Scope CurrentUser
- name: Run Pester Tests
shell: pwsh
run: |
Import-Module ${{github.workspace}}/Modules/F7History
$MyOptions = @{
Run = @{ # Run configuration.
PassThru = $true # Return result object after finishing the test run.
}
}
$config = New-PesterConfiguration -Hashtable $MyOptions
$config.Output.Verbosity = "Detailed"
$config.CodeCoverage.Enabled = $true
$config.CodeCoverage.OutputPath = "./coverage.xml"
Invoke-Pester -Configuration $config
# uses: PoshCode/Actions/pester@v1
# with:
# pesterVersion: "5.5.0"
# codeCoveragePath: Modules/F7History
# moduleUnderTest: F7History
# additionalModulePaths: ${{github.workspace}}/Modules
- name: Publish Test Results
uses: zyborg/dotnet-tests-report@v1
with:
test_results_path: results.xml
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: Pester Results
path: ${{github.workspace}}/*.xml
publish:
needs:
- build
- test
runs-on: ubuntu-latest
steps:
- name: Download Build Output
uses: actions/download-artifact@v3
# - name: Display structure of downloaded files
# run: ls -R
# see https://github.com/Jaykul/RequiredModules/issues/6
- name: Manually Install Modules F7History is dependent on
shell: pwsh
run: |
Install-Module -Name Microsoft.PowerShell.ConsoleGuiTools -Force -SkipPublisherCheck -Scope CurrentUser
Install-Module -Name PSReadLine -Force -SkipPublisherCheck -Scope CurrentUser
- name: Publish Module to PowerShell Gallery
shell: pwsh
run: |
Publish-Module -Path ${{github.workspace}}/Modules/F7History -NuGetApiKey ${{ secrets.F7HISTORY_GALLERY_KEY }}