Repository navigation
fix(ci): give tables a platform so add-on packages publish - #12879
Merged
Merged
Conversation
The plan job of the add-on package workflow runs the platform matrix for every add-on. On a publishing event it fails closed when an add-on has no enabled platform. The Tables platform file listed three platforms, all with enabled: false, so every master push failed the plan and nothing was published or signed. Enable the same four platforms as the other first-party add-ons (linux/amd64, linux/arm64, darwin/arm64, darwin/amd64), each with its native runner and the executable-start check. The fail-closed check in the workflow is unchanged. The tests assumed Tables was disabled. The matrix spec now requires at least one enabled platform in the checked-in Tables file. The platform spec covers Tables like the other add-ons. The shell suite builds a disabled copy of the Tables file for the two fail-closed cases. Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Assisted-by: Claude:claude-sonnet-5-5 [Claude Code]
mudler
added a commit
that referenced
this pull request
Oct 24, 2026
…12884) Tables now enables the four platforms the CI hosts run on (#12879), so the spec that expected the host platform to be refused as not enabled failed on the add-on packages run for 88aa565. The refused platform is now one the matrix never lists. Assisted-by: Claude:claude-sonnet-5-5 [Claude Code] Signed-off-by: Ettore Di Giacinto <mudler@localai.io> Co-authored-by: Ettore Di Giacinto <mudler@localai.io>
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.
Cause
The
plan the eventjob ofaddons-package.ymlrunsaddonpkg matrixfor each add-on. On a publishing event an add-on with no enabled platform fails the plan on purpose.addons/tables/package/platforms.yamllisted three platforms, allenabled: false, and had nodarwin/amd64entry. Every master push failed withadd-on tables has no enabled platform; refusing to publish, so nothing was packaged, published or signed.The other six add-ons (voice, face, fine-tuning, quantization, studio, talk) enable
linux/amd64,linux/arm64,darwin/arm64anddarwin/amd64. The Tables file was the only one left disabled. The workflow check is correct and is not changed.Change
addons/tables/package/platforms.yaml: enable the same four platforms as the other add-ons, with the same runners and theexecutable-startnative check. Tables had nodarwin/amd64entry, so it is added. I chose this set because I could not tell which subset Tables should ship; it is the set every other first-party add-on uses. Tables builds with cgo, so its darwin legs are the ones to watch on the first publish.pkg/addons/packaging/packaging_test.go: the spec that required every Tables platform to be disabled now requires at least one enabled platform.pkg/addons/packaging/platforms_test.go: Tables is checked like the other add-ons (all four platforms listed, enabled exactly when its native check is recorded).scripts/addons/package_test.sh: the two fail-closed cases (matrix, andpackage.shrefusing a disabled platform) use a disabled copy of the Tables file instead of the checked-in one.Local results
addonpkg matrix --config addons/<id>/package/platforms.yamlnow prints four legs (darwin/amd64,darwin/arm64,linux/amd64,linux/arm64) for tables, voice, face, fine-tuning, quantization, studio and talk. Before the change tables exited withexit status 1.The
Decide what this event may publishscript, run locally withEVENT=push REF=refs/heads/master, a test value forADDON_OCI_REPOSITORY, and the head SHA, exits 0 and printspublish=true,channel=development,aliases=development,has_platforms=true,registry=quay.io,addons=["face","fine-tuning","quantization","studio","tables","talk","voice"]and a 28-leg matrix.Tests:
CGO_ENABLED=1 go test -tags auth ./pkg/addons/packaging: 134 specs, 134 passed, 0 failed (before the test updates: 133 passed, 1 failed on the old Tables expectation).Not run
tests/addons/packagingandscripts/addons/package_test.sh: both need the generated gRPC stubs (make protogen-go), and noprotocwas available locally. The CIvalidatejob runs them. The shell edit passessh -n.Follow-up (needs a maintainer)
gallery/addons/index.yamlis not touched here: its pinnedsha-...tags and digests do not resolve until a publish runs. A follow-up change must re-pin them from the publish output.ADDON_OCI_REPOSITORYisquay.io/go-skynet/local-ai-addons.docs/content/features/addons.mdsays it should bequay.io/go-skynet/local-ai-addons/tables. With the current value Tables would publish togo-skynet/local-ai-addonsand the others togo-skynet/<id>, which does not match the pins in the index. Please check the value before the first publish.