Sync with upstream opencode v1.18.10 + auto-release on merge to main - #3
Open
smakosh wants to merge 2 commits into
Open
Sync with upstream opencode v1.18.10 + auto-release on merge to main#3smakosh wants to merge 2 commits into
smakosh wants to merge 2 commits into
Conversation
Merge sst/opencode changes from the fork point (v1.17.12) through the v1.18.10 release into devpass-code: 582 upstream commits covering the codemode tool, modal plugin, window-registry refactor, prompt-input rework, tree-sitter worker embedding, dependency bumps (opentui 0.4.x, ai-sdk updates, @tanstack/virtual-core 3.17.3), and assorted fixes. Fork-specific behavior is preserved: - DevPass Code branding (binary, config paths, prompts, TUI tips) - LLM Gateway model catalog in place of models.dev fetching - LLM Gateway-only internal auth plugins - theopenco release pipeline (npm devpass-code, Homebrew tap, Docker, AUR, curl installer) Upstream base for the next sync: v1.18.10. Claude-Session: https://claude.ai/code/session_01B93v5L421B4FGsYebLN3eV
Pushes to main now trigger publish.yml with an implicit patch bump, releasing to npm, the Homebrew tap, Docker (ghcr), AUR, and GitHub releases (which the curl installer reads). Loop protection: the version-sync commit the release pushes back to main now carries [skip ci], the version job additionally skips when the head commit is a version sync, and the publish job no longer runs when the version job was skipped. The release version now uses the checked-in version as a floor, so after an upstream sync the next release continues from the synced version (1.18.10 -> 1.18.11) instead of npm's last published 1.17.13. Claude-Session: https://claude.ai/code/session_01B93v5L421B4FGsYebLN3eV
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.
Upstream sync (v1.17.12 → v1.18.10)
Brings in 582 upstream commits from sst/opencode since the fork point, including:
packages/devpass-code/src/plugin/modal/)@tanstack/virtual-core3.17.3 (replaces the hand-patched 3.17.0), turbo 2.10Fork-specific behavior preserved and re-verified:
devpass-code.json,.devpass-code/,~/.config/devpass-code), prompts, TUI tipspackages/core/src/models-dev.ts)publish.yml(npmdevpass-code, Homebrew tap, Docker ghcr, AUR, curl installer)Merge mechanics: grafted the fork's initial commit onto upstream
v1.17.12so git had a real merge base with rename detection (packages/opencode→packages/devpass-code), mergedv1.18.10, resolved 74 conflicts, squashed to keep the fork's clean history. Upstream base for the next sync: v1.18.10 (recorded in the commit message).Auto-release on merge to main
Second commit wires
publish.ymlto run on pushes tomainwith an implicit patch bump, so every merged PR releases to:devpass-code+ platform packages)theopenco/tap/devpass-code)ghcr.io/theopenco/devpass-code)devpass-code-bin, whenAUR_KEYis set)Loop protection (the release pushes a version-sync commit back to main):
[skip ci]versionjob skips when the head commit is a version syncpublishjob no longer runs whenversionwas skippedVersioning: the checked-in version now acts as a floor, so the first release after this merge is v1.18.11 (continuing from upstream parity) rather than v1.17.14.
Verification
bun turbo typecheck: all 30 packages passbun test(config/plugin/provider suites): 1 net-new failure vs main — a new upstream test asserting models.dev variant data the LLM Gateway catalog doesn't carry, same class as the 55 catalog-dependent failures that already fail on main--helpshows devpass-code branding1.18.11packages/opencode/paths,bun installcleanhttps://claude.ai/code/session_01B93v5L421B4FGsYebLN3eV