Repository navigation
ci: gate publish on last-released engine, not in-run submodule delta - #32
Merged
Merged
Conversation
update-nlp-engine.yml decided whether to release by whether its own `git submodule update --remote` moved the submodule SHA. If the submodule was already advanced by another path (e.g. a verification PR), the in-run delta was empty, so `changed=false` and the release was silently skipped -- which is how nlp-engine 3.5.6/#658 reached `main` but never got a PyPI release (npm, whose submodule wasn't pre-bumped, published fine). Compare the engine the LAST RELEASE shipped (the `nlp-engine` gitlink at the latest v* tag) against current engine HEAD instead. Publish whenever they differ, regardless of how `main` got there. The commit step now tags the existing HEAD when the submodule is already current (nothing to commit) so the tag still fires publish.yml. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
update-nlp-engine.ymldecided whether to release by whether its owngit submodule update --remotemoved the submodule SHA (before == after→changed=false→ skip). When the submodule was already advanced by another path (a verification PR — #31), the in-run delta was empty, so the release was silently skipped.That's exactly how nlp-engine 3.5.6 / #658 reached
mainbut never got a PyPI release: #31 pre-bumped the submodule before the percolationrepository_dispatchran. (npm was unaffected — its submodule wasn't pre-bumped — so it published normally.)Fix
Compare the engine the last release shipped (the
nlp-enginegitlink at the latestv*tag) against current engine HEAD, and publish whenever they differ — regardless of howmaingot there. The commit step now tags the existing HEAD when the submodule is already current (nothing to commit), so the tag still firespublish.yml.Context
The one-off miss was already remediated by manually tagging v2.0.14 (NLPPlus on engine 3.5.6/#658). This PR prevents recurrence.
🤖 Generated with Claude Code