Skip to content

Support ZIP-packaged Linux release assets#20

Merged
Vladyslav-Kuksiuk merged 5 commits into
masterfrom
fix-linux-behavior
Jul 24, 2026
Merged

Support ZIP-packaged Linux release assets#20
Vladyslav-Kuksiuk merged 5 commits into
masterfrom
fix-linux-behavior

Conversation

@Vladyslav-Kuksiuk

Copy link
Copy Markdown
Collaborator

Select embed-code-linux.zip for releases after v1.2.4, while preserving bare Linux asset support for existing releases.

@Vladyslav-Kuksiuk Vladyslav-Kuksiuk self-assigned this Jul 23, 2026
@Vladyslav-Kuksiuk
Vladyslav-Kuksiuk marked this pull request as ready for review July 24, 2026 09:24

@Oleg-Melnik Oleg-Melnik left a comment

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.

Reviewed the ZIP-vs-bare Linux asset selection. Core logic is sound: I confirmed embed-code-go currently publishes only v1.2.3 and v1.2.4, both shipping the bare embed-code-linux asset, and the default version (v1.2.4) stays in the bare set — so behavior is correct today. Two inline notes below (one design/diagnostics, one test nit); no blocking defects.

/**
* All releases published before Linux ZIP packaging was introduced.
*/
private val bareLinuxAssetReleases = setOf("v1.2.3", "v1.2.4")

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.

Should fix (design / diagnostics): this allowlist inverts the trust boundary — every release not listed, including any future embed-code-go release, is assumed to ship embed-code-linux.zip. That is correct today (v1.2.3/v1.2.4 are the only releases and both ship the bare asset), but it hard-codes the assumption that every release after v1.2.4 packages Linux as a ZIP.

If a future release ships the bare asset instead, or the ZIP switch slips past v1.2.5, Linux installs fail with a plain HTTP 404 ... embed-code-linux.zip. addReleaseTagMigrationHint only covers a missing v prefix, so nothing points the user at the packaging change.

Consider (a) recording the cross-repo constraint — new embed-code-go releases must package Linux as .zip — in PROJECT.md's compatibility/trust notes or a comment here, and/or (b) extending the download-failure hint to mention the bare↔ZIP fallback.


@Test
fun `select bare Linux asset for releases published before ZIP packaging`() {
listOf("v1.2.3", "v1.2.4").forEach { releaseTag ->

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.

Nit: the forEach asserts without identifying the tag, so a regression for one release reports a bare equality failure with no indication of which tag failed. Passing the tag as the assertion message (assertEquals(expected, actual, releaseTag)) makes the failure self-describing. Also note this list literally duplicates the production bareLinuxAssetReleases set — acceptable, just kept in sync manually.

@Oleg-Melnik Oleg-Melnik left a comment

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.

@Vladyslav-Kuksiuk LGTM with comments to address.

Base automatically changed from add-ai-skills to master July 24, 2026 11:16
@Vladyslav-Kuksiuk
Vladyslav-Kuksiuk merged commit 5c2fc7d into master Jul 24, 2026
3 checks passed
@Vladyslav-Kuksiuk
Vladyslav-Kuksiuk deleted the fix-linux-behavior branch July 24, 2026 11:32
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.

2 participants