From 08cdd8a01cc6712d521300c99beb494b7a08d330 Mon Sep 17 00:00:00 2001 From: Howard van Rooijen Date: Thu, 23 Jul 2026 15:02:56 +0100 Subject: [PATCH] Fix package publishing being skipped on tagged builds The endjin pipeline's publish phase has `needs: postCompile`, and the post-compile phase only runs when postCompilePhaseTasks is set (`if: inputs.postCompilePhaseTasks != ''`). With that input unset, the post-compile phase is skipped, which cascades to skip the publish phase on tagged builds (publish's `if` does not use always(), so a skipped `needs` job skips it). This silently stopped package publishing: the newest version on NuGet is 0.3.1, while 0.3.2 and 1.0.0 were tagged but never published. Point postCompilePhaseTasks at a no-op InvokeBuild task (NoOp, added to .zf/config.ps1) so the post-compile phase runs and the publish phase is no longer skipped. Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01Q3BkmohCNRYGY1RBKbNaCx --- .github/workflows/build.yml | 5 +++++ .zf/config.ps1 | 6 ++++++ 2 files changed, 11 insertions(+) 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