Repository navigation
publish: build plugins for the platform the service runs them on - #51
Merged
Merged
Conversation
A plugin binary runs inside the service, but plugins publish built it for whatever machine ran the build: from a Mac that was arm64, and an amd64 service cannot execute it. The smoke test ran it on the same Mac, so nothing caught it. PluginsResponse gains platform — the server's GOOS/GOARCH — and the SDK a Platform method that reads it. publish asks for it after preflight and passes it to docker build and to the smoke run, which emulates when needed. --platform overrides it, on build and publish alike. A server older than v1.3.0 reports nothing; publish then warns and builds for the local machine. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merged
ZergsLaw
added a commit
that referenced
this pull request
Oct 30, 2026
plugins publish builds and smoke-tests for the platform the service reports in the new PluginsResponse.platform field, or --platform (#51), and packs plugins reproducibly, so an unchanged rebuild is an identical archive that is not uploaded again (#50). Co-authored-by: Edgar Sipki <e.sipki@uzum.com> Co-authored-by: Claude Opus 5.5 <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.
plugins publishсобирал плагин под архитектуру машины, где запущен, поэтому с Mac на amd64-сервис уезжал arm64-бинарник, а проверочный запуск на том же Mac этого не ловил. Теперь сервис отдаёт свою платформу в новом полеPluginsResponse.platform(GOOS/GOARCH сервера), SDK читает её методомPlatform(), иpublishпосле preflight собирает и проверяет плагины под неё, с эмуляцией при необходимости;--platformеё перекрывает, аplugins buildбез флага собирает под свою машину. Со старым сервером, который платформу не сообщает,publishпредупреждает и собирает как раньше. Проверено:build --platform linux/amd64на Mac даёт x86-64 бинарник с тем же sha, что и сборка черезDOCKER_DEFAULT_PLATFORM, без флага — arm64; тесты на хендлер, SDK, аргументы docker и выбор платформы.🤖 Generated with Claude Code