Skip to content

fix(ci): package changed integrations from merge diff - #508

Merged
Shubhank-Jonnada merged 2 commits into
masterfrom
sj/simplify-package-release-selection
Oct 19, 2026
Merged

Shubhank-Jonnada merged 2 commits into
masterfrom
sj/simplify-package-release-selection

Conversation

@Shubhank-Jonnada

@Shubhank-Jonnada Shubhank-Jonnada commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Packages each push to master from github.event.before to the pushed commit. Only new integration folders or increased config.json versions produce ZIPs and a schema 3 integrity manifest. Commits without version bumps produce no release.

Removes bootstrap/release-history baseline discovery and the workflow concurrency group so rapid merges do not cancel pending packaging runs. Manual workflow_dispatch still supports selected or full snapshot packaging. If a run fails, rerun that run directly; later pushes do not automatically recover its packages.

Validation

  • All five workflow-selection tests passed using the exact published HiveUp 2.5.0 tag.
  • All 23 tooling release tests passed; release planning resolved all 106 local integration folders.
  • Workflow/manifest fields match the Admin consumer in Autohive #5487, whose tests cover late releases and retaining newer packages.
  • No CI checks are currently reported on this PR head. Live GitHub release publication was not exercised by the local tests.

Merge and rollout

Tooling #62, integrations #441, and the HiveUp 2.5.0 tag are already available.

Merge and deploy Autohive #5487 before this PR so the consumer safely accepts older batches published after newer ones. Its SQL scripts accompany deployment. Then smoke-test a version-bump push, concurrent/out-of-order completion, and rerunning a failed packaging job.

Version-bump enforcement for integration code changes remains a separate HiveUp follow-up, as discussed in review. README-only changes need not create releases.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-08T03:09:46.696377Z a155058 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@autohive-ai autohive-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Result P1 P2 P3
Findings 0 1 0

Findings

Summary

Reviewed commit: 99a5a9f

One release-selection issue can omit packages during rapid merges.

For an explanation, reply under a comment with @autohive-ai and your question.

Review powered by Autohive

Comment thread .github/workflows/package-and-release.yml

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 99a5a9f443

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread .github/workflows/package-and-release.yml
@Shubhank-Jonnada Shubhank-Jonnada changed the title fix(ci): package release changes from push diff fix(ci): package changed integrations from merge diff Oct 8, 2026
@Shubhank-Jonnada

Copy link
Copy Markdown
Contributor Author

@codex review
@Autohive-AI review

@autohive-ai autohive-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Result P1 P2 P3
Review incomplete 0 0 0

Review incomplete

Summary

Review target: a155058

Review is incomplete: prior Autohive findings were not supplied, and the Admin release-cursor ordering contract was unavailable to verify out-of-order publication from newly concurrent packaging runs. Selection syntax checks passed, but HiveUp 2.5.0 was unavailable for execution tests.

Review powered by Autohive

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a155058c9b

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +63 to +66
# Package only integrations whose config.json version changed in
# this push. Failed runs can be rerun directly; the workflow does not
# need a bootstrap release or cross-run recovery baseline.
previous_commit_sha="$EVENT_BEFORE"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Serialize per-push release publication

With the workflow-level concurrency block removed, GitHub runs multiple instances of this workflow concurrently by default (GitHub Actions concurrency documentation). If two rapid merges bump the same integration from 1.0.0→1.0.1 and then 1.0.1→1.0.2, the newer job can publish first while the slower older job publishes afterward; because docs/integration-release-workflow.md says Admin keeps the newest ZIP per folder, that completion order can make the older package win during sync. Queue these runs serially, such as with concurrency and queue: max, so every push is retained without publishing releases out of commit order.

Useful? React with 👍 / 👎.

@NinosMan NinosMan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved. I have left a comment about the release behaviour, but that isn't blocking. I think HiveUp should enforce version bumping and it shouldn't be a concern of the package and release action. Just something to keep in mind 😄

Comment on lines +63 to +64
# Package only integrations whose config.json version changed in
# this push. Failed runs can be rerun directly; the workflow does not

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not entirely sure if this is the correct behavior. If a PR happens to be merged without a version bump, this would mean that the sync tool doesn't resolve the current code changes that exist in master. The behaviour would also be invisible to the user.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, but in some cases we may only want to push README updates or other non-code changes, so those should not create a release.

And yes, I agree with the point above: HiveUp should enforce version bumps and make them mandatory for integration code changes. That would fix this issue.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@TheRealAgentK what do you think kai?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Shubhank-Jonnada @NinosMan

Yeah, I think I agree that HiveUp’s PR validation should require a version bump for integration code or dependency changes, while README-only changes should not necessarily require one.

The packaging workflow should remain version-driven.

@TheRealAgentK

Copy link
Copy Markdown
Collaborator

I think Codex’s concurrency finding is blocking, but the downstream failure is slightly different from the one described.

The Admin sync implementation in Autohive #5487 sorts releases by commit ancestry, so an older ZIP doesn’t overwrite a newer one when both releases are discovered in the same sync. The gap is an older release arriving after the cursor has advanced:

  1. Merge A bumps integration X, but its packaging is slow or fails.
  2. Merge B bumps integration Y, publishes successfully, and Admin syncs it. The cursor now points to commit B.
  3. A finishes later, or someone reruns its failed workflow.
  4. If Admin discovers A as an unseen release, it rejects it because A doesn’t descend from the last synced commit B. No releases are staged by that sync.

Removing concurrency limits makes this possible during normal packaging. The documented “rerun the failed workflow” recovery path can produce the same situation even with serialized runs.

Before merging, I’d like the producer/consumer contract to handle late batches, with a regression test covering sync B first, then discover A, ideally using different integrations so A’s missing update cannot be treated as superseded. The existing out-of-order test covers both releases being available before the first sync, which doesn’t exercise this case.

@TheRealAgentK
TheRealAgentK self-requested a review October 8, 2026 06:27
@Shubhank-Jonnada

Shubhank-Jonnada commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor Author

Thanks @TheRealAgentK, the missing case was the late ancestor release after the Admin cursor had already advanced.

This is fixed on the consumer side in Autohive #5487, commit e3613118414cb642eb349f80efe5c6cf3d0b19af (fix(integrations): accept late ancestor package releases). The Admin sync now accepts late ancestor package releases without moving the commit cursor backwards: it stages missing integrations from the late release, skips older packages for integrations already staged from newer commits, and includes a regression test for the “sync B first, then discover A” case.

@Shubhank-Jonnada
Shubhank-Jonnada merged commit 917878d into master Oct 19, 2026
1 check passed
@Shubhank-Jonnada
Shubhank-Jonnada deleted the sj/simplify-package-release-selection branch October 19, 2026 19:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants