diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5cace4d..f87ccf9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,6 +61,11 @@ jobs: uses: endjin/Endjin.RecommendedPractices.GitHubActions/.github/workflows/scripted-build-matrix-pipeline.yml@main with: netSdkVersion: '10.x' + # The pipeline's publish phase has `needs: postCompile`, and the post-compile phase only runs + # when postCompilePhaseTasks is set. With it unset the post-compile phase is skipped, which + # cascades to skip publish on tagged builds (publish's `if` does not use always()). Point it at + # a no-op task (defined in .zf/config.ps1) so the phase runs and publish is not skipped. + postCompilePhaseTasks: 'NoOp' # workflow_dispatch inputs are always strings, the type property is just for the UI forcePublish: ${{ github.event.inputs.forcePublish == 'true' }} skipCleanup: ${{ github.event.inputs.skipCleanup == 'true' }} diff --git a/.zf/config.ps1 b/.zf/config.ps1 index 620121d..f5aebdc 100644 --- a/.zf/config.ps1 +++ b/.zf/config.ps1 @@ -43,6 +43,12 @@ $ExcludeAssembliesInCodeCoverage = "" task . FullBuild +# No-op task invoked by the GitHub build pipeline's post-compile phase (postCompilePhaseTasks in +# build.yml). The endjin publish phase depends on the post-compile phase; without a post-compile +# task that phase is skipped, which cascades to skip publish on tagged builds. Running this empty +# task keeps the phase (and therefore publish) alive without doing any additional work. +task NoOp {} + # # Build Process Extensibility Points - uncomment and implement as required