Skip to content

Fix release updater manifest race - #199

Merged
glenn-jocher merged 1 commit into
mainfrom
fix/release-manifest
Sep 24, 2026
Merged

glenn-jocher merged 1 commit into
mainfrom
fix/release-manifest

Conversation

@glenn-jocher

@glenn-jocher glenn-jocher commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

The v0.0.59 publish failed because concurrent Tauri builds replaced the shared latest.json: all installers uploaded successfully, but the final manifest retained only Windows entries. Linux and Windows uploaded the manifest within one second of each other.

Serialize the release matrix so each build reads the previous platform entries before replacing the manifest. This trades longer release duration for preserving all platforms, while keeping the existing publication checks unchanged.

Validation: actionlint .github/workflows/publish.yml and git diff --check pass. Confirmed the draft manifest fails the existing required-platform check and inspected Tauri v1’s read/merge/replace implementation. Full release execution requires merging; retrying the old run would retain the race.

Failed job: https://github.com/ultralytics/lite/actions/runs/35981923194/job/107578064683

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

The publish workflow now runs release-matrix builds one at a time to prevent concurrent updates from overwriting platform entries in latest.json.

📊 Key Changes

  • Set the publish matrix’s max-parallel value to 1.
  • Added a comment explaining that builds merge and replace the shared latest.json release asset.

🎯 Purpose & Impact

  • Each build runs after the previous one, allowing it to read the latest manifest before replacing it; release publishing takes longer as a result.

@UltralyticsAssistant UltralyticsAssistant added bug Something isn't working fixed Bug has been resolved labels Sep 24, 2026
@UltralyticsAssistant

Copy link
Copy Markdown
Member

👋 Hello @glenn-jocher, thank you for submitting a ultralytics/lite 🚀 PR! This automated message confirms your contribution was received, and an Ultralytics engineer will assist with the review. To ensure a seamless integration of your work, please review the following checklist:

  • ✅ Define a Purpose: Clearly explain the purpose of your fix or feature in your PR description, and link to any relevant issues. Ensure your commit messages are clear, concise, and adhere to the project's conventions.
  • ✅ Synchronize with Source: Confirm your PR is synchronized with the ultralytics/lite main branch. If it's behind, update it by clicking the 'Update branch' button or by running git pull and git merge main locally.
  • ✅ Ensure CI Checks Pass: Verify all Ultralytics Continuous Integration (CI) checks are passing. If any checks fail, please address the issues.
  • ✅ Update Documentation: Update the relevant documentation for any new or modified features.
  • ✅ Add Tests: If applicable, include or update tests to cover your changes, and confirm that all tests are passing.
  • ✅ Sign the CLA: Please ensure you have signed our Contributor License Agreement if this is your first Ultralytics PR by writing "I have read the CLA Document and I sign the CLA" in a new message.
  • ✅ Minimize Changes: Limit your changes to the minimum necessary for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee

For more guidance, please refer to our Contributing Guide. Don't hesitate to leave a comment if you have any questions. Thank you for contributing to Ultralytics! 🚀

@UltralyticsAssistant UltralyticsAssistant left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔍 PR Review

Made with ❤️ by Ultralytics Actions

Reviewed the release workflow matrix change. max-parallel: 1 serializes the platform build jobs, preventing concurrent updates to the shared updater manifest. LGTM.

@glenn-jocher
glenn-jocher merged commit 034183c into main Sep 24, 2026
5 checks passed
@glenn-jocher
glenn-jocher deleted the fix/release-manifest branch September 24, 2026 11:39
@UltralyticsAssistant

Copy link
Copy Markdown
Member

🎉 This PR was merged—thank you, @glenn-jocher! Setting the publish matrix to run one build at a time helps each build read the latest manifest before updating the shared latest.json.

“Great things are done by a series of small things brought together.” — Vincent van Gogh

A fitting reminder of how sequential builds help preserve each platform entry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working fixed Bug has been resolved

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants