Fix package publishing skipped on tagged builds - #9
Merged
Conversation
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) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q3BkmohCNRYGY1RBKbNaCx
There was a problem hiding this comment.
Pull request overview
This PR fixes a GitHub Actions workflow dependency issue where the reusable pipeline’s publish job can be skipped on tagged builds because it needs: postCompile and postCompile was previously skipped when no post-compile tasks were configured.
Changes:
- Add a no-op InvokeBuild task (
NoOp) to the ZeroFailed/InvokeBuild config so the post-compile phase has something to run. - Configure the build workflow to pass
postCompilePhaseTasks: 'NoOp'into the shared Endjin reusable pipeline, ensuringpostCompileno longer blockspublishon tags. - Document the rationale inline in both the build config and workflow file.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| .zf/config.ps1 | Adds a NoOp InvokeBuild task to allow the post-compile phase to run without doing work. |
| .github/workflows/build.yml | Sets postCompilePhaseTasks for the shared pipeline so postCompile runs and won’t cascade-skip publish on tagged builds. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+64
to
+68
| # 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' |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The endjin CI pipeline's publish phase is being skipped on tagged builds, so packages are not published. The newest
Ais.Net.Modelson NuGet is 0.3.1 — 0.3.2 and 1.0.0 were both tagged but never published.Root cause (in the
@mainshared pipeline):publishneedspostCompile;postCompileonly runs whenpostCompilePhaseTasksis set. With it unset,postCompileis skipped, and becausepublish'sifdoesn't usealways(), GitHub cascades the skip —publishis skipped even though the tag condition is true.Fix
Point
postCompilePhaseTasksat a no-op InvokeBuild task (NoOp, added to.zf/config.ps1) so the post-compile phase runs and no longer blocks publish. The task does no work; the post-compile cache it emits is not consumed by any later phase.Verifying
On this PR's build, the Post-Compile job should now run (previously skipped). Publish still won't run on the PR build itself (it's release-gated to tags), but with post-compile no longer skipped, a future tagged release will publish.
🤖 Generated with Claude Code