Action-Test - [ #] by @MariusStorhaug #843
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Action-Test | |
| run-name: 'Action-Test - [${{ github.event.pull_request.title }} #${{ github.event.pull_request.number }}] by @${{ github.actor }}' | |
| on: | |
| workflow_dispatch: | |
| pull_request: | |
| schedule: | |
| - cron: '0 0 * * *' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| ActionTest1Simple: | |
| name: Action-Test - [1-Simple] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [1-Simple] | |
| uses: ./ | |
| id: action-test | |
| with: | |
| WorkingDirectory: tests/1-Simple | |
| Debug: true | |
| Verbose: true | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest1SimpleFile: | |
| name: Action-Test - [1-Simple-File] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [1-Simple-File] | |
| uses: ./ | |
| id: action-test | |
| with: | |
| WorkingDirectory: tests/1-Simple | |
| Path: Emoji.Tests.ps1 | |
| Run_Path: Emoji | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest1SimpleFailure: | |
| name: Action-Test - [1-Simple-Failure] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [1-Simple-Failure] | |
| uses: ./ | |
| id: action-test | |
| continue-on-error: true | |
| with: | |
| WorkingDirectory: tests/1-Simple-Failure | |
| StepSummary_Mode: Full | |
| StepSummary_ShowTestOverview: true | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest1SimpleFailureOnlyFailedSummary: | |
| name: Action-Test - [1-Simple-Failure-OnlyFailedSummary] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [1-Simple-Failure] | |
| uses: ./ | |
| id: action-test | |
| continue-on-error: true | |
| with: | |
| WorkingDirectory: tests/1-Simple-Failure | |
| TestResult_TestSuiteName: 1-Simple-Failure | |
| StepSummary_ShowConfiguration: true | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest1SimpleExecutionFailure: | |
| name: Action-Test - [1-Simple-ExecutionFailure] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [1-Simple-ExecutionFailure] | |
| uses: ./ | |
| id: action-test | |
| continue-on-error: true | |
| with: | |
| WorkingDirectory: tests/1-Simple-ExecutionFailure | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest2Standard: | |
| name: Action-Test - [2-Standard] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [2-Standard] | |
| uses: ./ | |
| id: action-test | |
| with: | |
| WorkingDirectory: tests/2-Standard | |
| Output_CIFormat: GithubActions | |
| Prescript: | | |
| Write-Host "This is a prescript" | |
| Write-Host "We are running on ${{ runner.os }}" | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest2StandardNoSummary: | |
| name: Action-Test - [2-Standard-NoSummary] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [2-Standard-NoSummary] | |
| uses: ./ | |
| id: action-test | |
| with: | |
| WorkingDirectory: tests/2-Standard | |
| Output_CIFormat: GithubActions | |
| TestResult_TestSuiteName: 2-Standard-NoSummary | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| ActionTest3Advanced: | |
| name: Action-Test - [3-Advanced] | |
| runs-on: ubuntu-latest | |
| outputs: | |
| Outcome: ${{ steps.action-test.outcome }} | |
| Conclusion: ${{ steps.action-test.conclusion }} | |
| Executed: ${{ steps.action-test.outputs.Executed }} | |
| Result: ${{ steps.action-test.outputs.Result }} | |
| steps: | |
| # Need to check out as part of the test, as its a local action | |
| - name: Checkout repo | |
| uses: actions/checkout@v6 | |
| - name: Action-Test [3-Advanced] | |
| uses: ./ | |
| id: action-test | |
| with: | |
| Path: Pester.Configuration.ps1 | |
| WorkingDirectory: tests/3-Advanced | |
| StepSummary_Mode: None | |
| - name: Status | |
| shell: pwsh | |
| run: | | |
| Write-Host "Outcome: ${{ steps.action-test.outcome }}" | |
| Write-Host "Conclusion: ${{ steps.action-test.conclusion }}" | |
| CatchJob: | |
| name: Catch Job - Aggregate Status | |
| needs: | |
| - ActionTest1Simple | |
| - ActionTest1SimpleFile | |
| - ActionTest1SimpleFailure | |
| - ActionTest1SimpleFailureOnlyFailedSummary | |
| - ActionTest1SimpleExecutionFailure | |
| - ActionTest2Standard | |
| - ActionTest2StandardNoSummary | |
| - ActionTest3Advanced | |
| if: always() | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Display Aggregated Results as a Table | |
| uses: PSModule/Github-Script@v1 | |
| with: | |
| Script: | | |
| 'Markdown' | ForEach-Object { | |
| $name = $_ | |
| Write-Output "Installing module: $name" | |
| $retryCount = 5 | |
| $retryDelay = 10 | |
| for ($i = 0; $i -lt $retryCount; $i++) { | |
| try { | |
| Install-PSResource -Name $name -WarningAction SilentlyContinue -TrustRepository -Repository PSGallery | |
| break | |
| } catch { | |
| Write-Warning "Installation of $name failed with error: $_" | |
| if ($i -eq $retryCount - 1) { | |
| throw | |
| } | |
| Write-Warning "Retrying in $retryDelay seconds..." | |
| Start-Sleep -Seconds $retryDelay | |
| } | |
| } | |
| Import-Module -Name $name | |
| } | |
| # Build an array of objects for each job | |
| $ActionTest1SimpleOutcome = '${{ needs.ActionTest1Simple.outputs.Outcome }}' | |
| $ActionTest1SimpleOutcomeExpected = 'success' | |
| $ActionTest1SimpleOutcomeResult = $ActionTest1SimpleOutcome -eq $ActionTest1SimpleOutcomeExpected | |
| $ActionTest1SimpleConclusion = '${{ needs.ActionTest1Simple.outputs.Conclusion }}' | |
| $ActionTest1SimpleConclusionExpected = 'success' | |
| $ActionTest1SimpleConclusionResult = $ActionTest1SimpleConclusion -eq $ActionTest1SimpleConclusionExpected | |
| $ActionTest1SimpleExecuted = '${{ needs.ActionTest1Simple.outputs.Executed }}' | |
| $ActionTest1SimpleExecutedExpected = 'True' | |
| $ActionTest1SimpleExecutedResult = $ActionTest1SimpleExecuted -eq $ActionTest1SimpleExecutedExpected | |
| $ActionTest1SimpleResult = '${{ needs.ActionTest1Simple.outputs.Result }}' | |
| $ActionTest1SimpleResultExpected = 'Passed' | |
| $ActionTest1SimpleResultResult = $ActionTest1SimpleResult -eq $ActionTest1SimpleResultExpected | |
| $ActionTest1SimpleFileOutcome = '${{ needs.ActionTest1SimpleFile.outputs.Outcome }}' | |
| $ActionTest1SimpleFileOutcomeExpected = 'success' | |
| $ActionTest1SimpleFileOutcomeResult = $ActionTest1SimpleFileOutcome -eq $ActionTest1SimpleFileOutcomeExpected | |
| $ActionTest1SimpleFileConclusion = '${{ needs.ActionTest1SimpleFile.outputs.Conclusion }}' | |
| $ActionTest1SimpleFileConclusionExpected = 'success' | |
| $ActionTest1SimpleFileConclusionResult = $ActionTest1SimpleFileConclusion -eq $ActionTest1SimpleFileConclusionExpected | |
| $ActionTest1SimpleFileExecuted = '${{ needs.ActionTest1SimpleFile.outputs.Executed }}' | |
| $ActionTest1SimpleFileExecutedExpected = 'True' | |
| $ActionTest1SimpleFileExecutedResult = $ActionTest1SimpleFileExecuted -eq $ActionTest1SimpleFileExecutedExpected | |
| $ActionTest1SimpleFileResult = '${{ needs.ActionTest1SimpleFile.outputs.Result }}' | |
| $ActionTest1SimpleFileResultExpected = 'Passed' | |
| $ActionTest1SimpleFileResultResult = $ActionTest1SimpleFileResult -eq $ActionTest1SimpleFileResultExpected | |
| $ActionTest1SimpleFailureOutcome = '${{ needs.ActionTest1SimpleFailure.outputs.Outcome }}' | |
| $ActionTest1SimpleFailureOutcomeExpected = 'failure' | |
| $ActionTest1SimpleFailureOutcomeResult = $ActionTest1SimpleFailureOutcome -eq $ActionTest1SimpleFailureOutcomeExpected | |
| $ActionTest1SimpleFailureConclusion = '${{ needs.ActionTest1SimpleFailure.outputs.Conclusion }}' | |
| $ActionTest1SimpleFailureConclusionExpected = 'success' | |
| $ActionTest1SimpleFailureConclusionResult = $ActionTest1SimpleFailureConclusion -eq $ActionTest1SimpleFailureConclusionExpected | |
| $ActionTest1SimpleFailureExecuted = '${{ needs.ActionTest1SimpleFailure.outputs.Executed }}' | |
| $ActionTest1SimpleFailureExecutedExpected = 'True' | |
| $ActionTest1SimpleFailureExecutedResult = $ActionTest1SimpleFailureExecuted -eq $ActionTest1SimpleFailureExecutedExpected | |
| $ActionTest1SimpleFailureResult = '${{ needs.ActionTest1SimpleFailure.outputs.Result }}' | |
| $ActionTest1SimpleFailureResultExpected = 'Failed' | |
| $ActionTest1SimpleFailureResultResult = $ActionTest1SimpleFailureResult -eq $ActionTest1SimpleFailureResultExpected | |
| $ActionTest1SimpleFailureOnlyFailedSummaryOutcome = '${{ needs.ActionTest1SimpleFailureOnlyFailedSummary.outputs.Outcome }}' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryOutcomeExpected = 'failure' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryOutcomeResult = $ActionTest1SimpleFailureOnlyFailedSummaryOutcome -eq $ActionTest1SimpleFailureOnlyFailedSummaryOutcomeExpected | |
| $ActionTest1SimpleFailureOnlyFailedSummaryConclusion = '${{ needs.ActionTest1SimpleFailureOnlyFailedSummary.outputs.Conclusion }}' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryonclusionExpected = 'success' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryonclusionResult = $ActionTest1SimpleFailureOnlyFailedSummaryConclusion -eq $ActionTest1SimpleFailureOnlyFailedSummaryonclusionExpected | |
| $ActionTest1SimpleFailureOnlyFailedSummaryExecuted = '${{ needs.ActionTest1SimpleFailureOnlyFailedSummary.outputs.Executed }}' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryExecutedExpected = 'True' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryExecutedResult = $ActionTest1SimpleFailureOnlyFailedSummaryExecuted -eq $ActionTest1SimpleFailureOnlyFailedSummaryExecutedExpected | |
| $ActionTest1SimpleFailureOnlyFailedSummaryResult = '${{ needs.ActionTest1SimpleFailureOnlyFailedSummary.outputs.Result }}' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryResultExpected = 'Failed' | |
| $ActionTest1SimpleFailureOnlyFailedSummaryResultResult = $ActionTest1SimpleFailureOnlyFailedSummaryResult -eq $ActionTest1SimpleFailureOnlyFailedSummaryResultExpected | |
| $ActionTest1SimpleExecutionFailureOutcome = '${{ needs.ActionTest1SimpleExecutionFailure.outputs.Outcome }}' | |
| $ActionTest1SimpleExecutionFailureOutcomeExpected = 'failure' | |
| $ActionTest1SimpleExecutionFailureOutcomeResult = $ActionTest1SimpleExecutionFailureOutcome -eq $ActionTest1SimpleExecutionFailureOutcomeExpected | |
| $ActionTest1SimpleExecutionFailureConclusion = '${{ needs.ActionTest1SimpleExecutionFailure.outputs.Conclusion }}' | |
| $ActionTest1SimpleExecutionFailureConclusionExpected = 'success' | |
| $ActionTest1SimpleExecutionFailureConclusionResult = $ActionTest1SimpleExecutionFailureConclusion -eq $ActionTest1SimpleExecutionFailureConclusionExpected | |
| $ActionTest1SimpleExecutionFailureExecuted = '${{ needs.ActionTest1SimpleExecutionFailure.outputs.Executed }}' | |
| $ActionTest1SimpleExecutionFailureExecutedExpected = 'False' | |
| $ActionTest1SimpleExecutionFailureExecutedResult = $ActionTest1SimpleExecutionFailureExecuted -eq $ActionTest1SimpleExecutionFailureExecutedExpected | |
| $ActionTest1SimpleExecutionFailureResult = '${{ needs.ActionTest1SimpleExecutionFailure.outputs.Result }}' | |
| $ActionTest1SimpleExecutionFailureResultExpected = '' | |
| $ActionTest1SimpleExecutionFailureResultResult = $ActionTest1SimpleExecutionFailureResult -eq $ActionTest1SimpleExecutionFailureResultExpected | |
| $ActionTest2StandardOutcome = '${{ needs.ActionTest2Standard.outputs.Outcome }}' | |
| $ActionTest2StandardOutcomeExpected = 'success' | |
| $ActionTest2StandardOutcomeResult = $ActionTest2StandardOutcome -eq $ActionTest2StandardOutcomeExpected | |
| $ActionTest2StandardConclusion = '${{ needs.ActionTest2Standard.outputs.Conclusion }}' | |
| $ActionTest2StandardConclusionExpected = 'success' | |
| $ActionTest2StandardConclusionResult = $ActionTest2StandardConclusion -eq $ActionTest2StandardConclusionExpected | |
| $ActionTest2StandardExecuted = '${{ needs.ActionTest2Standard.outputs.Executed }}' | |
| $ActionTest2StandardExecutedExpected = 'True' | |
| $ActionTest2StandardExecutedResult = $ActionTest2StandardExecuted -eq $ActionTest2StandardExecutedExpected | |
| $ActionTest2StandardResult = '${{ needs.ActionTest2Standard.outputs.Result }}' | |
| $ActionTest2StandardResultExpected = 'Passed' | |
| $ActionTest2StandardResultResult = $ActionTest2StandardResult -eq $ActionTest2StandardResultExpected | |
| $ActionTest2StandardNoSummaryOutcome = '${{ needs.ActionTest2StandardNoSummary.outputs.Outcome }}' | |
| $ActionTest2StandardNoSummaryOutcomeExpected = 'success' | |
| $ActionTest2StandardNoSummaryOutcomeResult = $ActionTest2StandardNoSummaryOutcome -eq $ActionTest2StandardNoSummaryOutcomeExpected | |
| $ActionTest2StandardNoSummaryConclusion = '${{ needs.ActionTest2StandardNoSummary.outputs.Conclusion }}' | |
| $ActionTest2StandardNoSummaryConclusionExpected = 'success' | |
| $ActionTest2StandardNoSummaryConclusionResult = $ActionTest2StandardNoSummaryConclusion -eq $ActionTest2StandardNoSummaryConclusionExpected | |
| $ActionTest2StandardNoSummaryExecuted = '${{ needs.ActionTest2StandardNoSummary.outputs.Executed }}' | |
| $ActionTest2StandardNoSummaryExecutedExpected = 'True' | |
| $ActionTest2StandardNoSummaryExecutedResult = $ActionTest2StandardNoSummaryExecuted -eq $ActionTest2StandardNoSummaryExecutedExpected | |
| $ActionTest2StandardNoSummaryResult = '${{ needs.ActionTest2StandardNoSummary.outputs.Result }}' | |
| $ActionTest2StandardNoSummaryResultExpected = 'Passed' | |
| $ActionTest2StandardNoSummaryResultResult = $ActionTest2StandardNoSummaryResult -eq $ActionTest2StandardNoSummaryResultExpected | |
| $ActionTest3AdvancedOutcome = '${{ needs.ActionTest3Advanced.outputs.Outcome }}' | |
| $ActionTest3AdvancedOutcomeExpected = 'success' | |
| $ActionTest3AdvancedOutcomeResult = $ActionTest3AdvancedOutcome -eq $ActionTest3AdvancedOutcomeExpected | |
| $ActionTest3AdvancedConclusion = '${{ needs.ActionTest3Advanced.outputs.Conclusion }}' | |
| $ActionTest3AdvancedConclusionExpected = 'success' | |
| $ActionTest3AdvancedConclusionResult = $ActionTest3AdvancedConclusion -eq $ActionTest3AdvancedConclusionExpected | |
| $ActionTest3AdvancedExecuted = '${{ needs.ActionTest3Advanced.outputs.Executed }}' | |
| $ActionTest3AdvancedExecutedExpected = 'True' | |
| $ActionTest3AdvancedExecutedResult = $ActionTest3AdvancedExecuted -eq $ActionTest3AdvancedExecutedExpected | |
| $ActionTest3AdvancedResult = '${{ needs.ActionTest3Advanced.outputs.Result }}' | |
| $ActionTest3AdvancedResultExpected = 'Passed' | |
| $ActionTest3AdvancedResultResult = $ActionTest3AdvancedResult -eq $ActionTest3AdvancedResultExpected | |
| $jobs = @( | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [1-Simple]" | |
| Outcome = $ActionTest1SimpleOutcome | |
| OutcomeExpected = $ActionTest1SimpleOutcomeExpected | |
| OutcomeResult = $ActionTest1SimpleOutcomeResult | |
| Conclusion = $ActionTest1SimpleConclusion | |
| ConclusionExpected = $ActionTest1SimpleConclusionExpected | |
| ConclusionResult = $ActionTest1SimpleConclusionResult | |
| Executed = $ActionTest1SimpleExecuted | |
| ExecutedExpected = $ActionTest1SimpleExecutedExpected | |
| ExecutedResult = $ActionTest1SimpleExecutedResult | |
| Result = $ActionTest1SimpleResult | |
| ResultExpected = $ActionTest1SimpleResultExpected | |
| ResultResult = $ActionTest1SimpleResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [1-Simple-File]" | |
| Outcome = $ActionTest1SimpleFileOutcome | |
| OutcomeExpected = $ActionTest1SimpleFileOutcomeExpected | |
| OutcomeResult = $ActionTest1SimpleFileOutcomeResult | |
| Conclusion = $ActionTest1SimpleFileConclusion | |
| ConclusionExpected = $ActionTest1SimpleFileConclusionExpected | |
| ConclusionResult = $ActionTest1SimpleFileConclusionResult | |
| Executed = $ActionTest1SimpleFileExecuted | |
| ExecutedExpected = $ActionTest1SimpleFileExecutedExpected | |
| ExecutedResult = $ActionTest1SimpleFileExecutedResult | |
| Result = $ActionTest1SimpleFileResult | |
| ResultExpected = $ActionTest1SimpleFileResultExpected | |
| ResultResult = $ActionTest1SimpleFileResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [1-Simple-Failure]" | |
| Outcome = $ActionTest1SimpleFailureOutcome | |
| OutcomeExpected = $ActionTest1SimpleFailureOutcomeExpected | |
| OutcomeResult = $ActionTest1SimpleFailureOutcomeResult | |
| Conclusion = $ActionTest1SimpleFailureConclusion | |
| ConclusionExpected = $ActionTest1SimpleFailureConclusionExpected | |
| ConclusionResult = $ActionTest1SimpleFailureConclusionResult | |
| Executed = $ActionTest1SimpleFailureExecuted | |
| ExecutedExpected = $ActionTest1SimpleFailureExecutedExpected | |
| ExecutedResult = $ActionTest1SimpleFailureExecutedResult | |
| Result = $ActionTest1SimpleFailureResult | |
| ResultExpected = $ActionTest1SimpleFailureResultExpected | |
| ResultResult = $ActionTest1SimpleFailureResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [1-Simple-Failure-OnlyFailedSummary]" | |
| Outcome = $ActionTest1SimpleFailureOnlyFailedSummaryOutcome | |
| OutcomeExpected = $ActionTest1SimpleFailureOnlyFailedSummaryOutcomeExpected | |
| OutcomeResult = $ActionTest1SimpleFailureOnlyFailedSummaryOutcomeResult | |
| Conclusion = $ActionTest1SimpleFailureOnlyFailedSummaryConclusion | |
| ConclusionExpected = $ActionTest1SimpleFailureOnlyFailedSummaryonclusionExpected | |
| ConclusionResult = $ActionTest1SimpleFailureOnlyFailedSummaryonclusionResult | |
| Executed = $ActionTest1SimpleFailureOnlyFailedSummaryExecuted | |
| ExecutedExpected = $ActionTest1SimpleFailureOnlyFailedSummaryExecutedExpected | |
| ExecutedResult = $ActionTest1SimpleFailureOnlyFailedSummaryExecutedResult | |
| Result = $ActionTest1SimpleFailureOnlyFailedSummaryResult | |
| ResultExpected = $ActionTest1SimpleFailureOnlyFailedSummaryResultExpected | |
| ResultResult = $ActionTest1SimpleFailureOnlyFailedSummaryResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [1-Simple-ExecutionFailure]" | |
| Outcome = $ActionTest1SimpleExecutionFailureOutcome | |
| OutcomeExpected = $ActionTest1SimpleExecutionFailureOutcomeExpected | |
| OutcomeResult = $ActionTest1SimpleExecutionFailureOutcomeResult | |
| Conclusion = $ActionTest1SimpleExecutionFailureConclusion | |
| ConclusionExpected = $ActionTest1SimpleExecutionFailureConclusionExpected | |
| ConclusionResult = $ActionTest1SimpleExecutionFailureConclusionResult | |
| Executed = $ActionTest1SimpleExecutionFailureExecuted | |
| ExecutedExpected = $ActionTest1SimpleExecutionFailureExecutedExpected | |
| ExecutedResult = $ActionTest1SimpleExecutionFailureExecutedResult | |
| Result = $ActionTest1SimpleExecutionFailureResult | |
| ResultExpected = $ActionTest1SimpleExecutionFailureResultExpected | |
| ResultResult = $ActionTest1SimpleExecutionFailureResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [2-Standard]" | |
| Outcome = $ActionTest2StandardOutcome | |
| OutcomeExpected = $ActionTest2StandardOutcomeExpected | |
| OutcomeResult = $ActionTest2StandardOutcomeResult | |
| Conclusion = $ActionTest2StandardConclusion | |
| ConclusionExpected = $ActionTest2StandardConclusionExpected | |
| ConclusionResult = $ActionTest2StandardConclusionResult | |
| Executed = $ActionTest2StandardExecuted | |
| ExecutedExpected = $ActionTest2StandardExecutedExpected | |
| ExecutedResult = $ActionTest2StandardExecutedResult | |
| Result = $ActionTest2StandardResult | |
| ResultExpected = $ActionTest2StandardResultExpected | |
| ResultResult = $ActionTest2StandardResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [2-Standard-NoSummary]" | |
| Outcome = $ActionTest2StandardNoSummaryOutcome | |
| OutcomeExpected = $ActionTest2StandardNoSummaryOutcomeExpected | |
| OutcomeResult = $ActionTest2StandardNoSummaryOutcomeResult | |
| Conclusion = $ActionTest2StandardNoSummaryConclusion | |
| ConclusionExpected = $ActionTest2StandardNoSummaryConclusionExpected | |
| ConclusionResult = $ActionTest2StandardNoSummaryConclusionResult | |
| Executed = $ActionTest2StandardNoSummaryExecuted | |
| ExecutedExpected = $ActionTest2StandardNoSummaryExecutedExpected | |
| ExecutedResult = $ActionTest2StandardNoSummaryExecutedResult | |
| Result = $ActionTest2StandardNoSummaryResult | |
| ResultExpected = $ActionTest2StandardNoSummaryResultExpected | |
| ResultResult = $ActionTest2StandardNoSummaryResultResult | |
| }, | |
| [PSCustomObject]@{ | |
| Name = "Action-Test - [3-Advanced]" | |
| Outcome = $ActionTest3AdvancedOutcome | |
| OutcomeExpected = $ActionTest3AdvancedOutcomeExpected | |
| OutcomeResult = $ActionTest3AdvancedOutcomeResult | |
| Conclusion = $ActionTest3AdvancedConclusion | |
| ConclusionExpected = $ActionTest3AdvancedConclusionExpected | |
| ConclusionResult = $ActionTest3AdvancedConclusionResult | |
| Executed = $ActionTest3AdvancedExecuted | |
| ExecutedExpected = $ActionTest3AdvancedExecutedExpected | |
| ExecutedResult = $ActionTest3AdvancedExecutedResult | |
| Result = $ActionTest3AdvancedResult | |
| ResultExpected = $ActionTest3AdvancedResultExpected | |
| ResultResult = $ActionTest3AdvancedResultResult | |
| } | |
| ) | |
| # Display the table in the workflow logs | |
| $jobs | Format-List | Out-String | |
| $passed = $true | |
| $jobs | ForEach-Object { | |
| if (-not $_.OutcomeResult) { | |
| Write-Error "Job $($_.Name) failed with Outcome $($_.Outcome) and Expected Outcome $($_.OutcomeExpected)" | |
| $passed = $false | |
| } | |
| if (-not $_.ConclusionResult) { | |
| Write-Error "Job $($_.Name) failed with Conclusion $($_.Conclusion) and Expected Conclusion $($_.ConclusionExpected)" | |
| $passed = $false | |
| } | |
| if (-not $_.ExecutedResult) { | |
| Write-Error "Job $($_.Name) not executed as expected. (Actual: $($_.Executed), Expected: $($_.ExecutedExpected))" | |
| $passed = $false | |
| } | |
| if (-not $_.ResultResult) { | |
| Write-Error "Job $($_.Name) tests did not pass as expected. (Actual: $($_.Result), Expected: $($_.ResultExpected))" | |
| $passed = $false | |
| } | |
| } | |
| $icon = if ($passed) { '✅' } else { '❌' } | |
| $status = Heading 1 "$icon - GitHub Actions Status" { | |
| Table { | |
| $jobs | |
| } | |
| } | |
| Set-GitHubStepSummary -Summary $status | |
| if (-not $passed) { | |
| Write-GithubError "One or more jobs failed" | |
| exit 1 | |
| } |