Open
Conversation
|
Thank you so much for opening that PR, I want to check it correctly, I'll do it today or tomorrow maximum 🙏 |
…eleases
The Remote SSH feature crashes with "zed-remote-server-linux-x86_64.gz not found
in 0.0.1" because:
1. The remote_server binary is compiled during CI but never uploaded as a release
asset — only the DMG and symbols zip are published.
2. The download logic in auto_update.rs queries the upstream Zed cloud API, which
has no knowledge of Glass releases.
This commit fixes both issues:
- CI: Package the remote_server binary as a gzipped release asset
(zed-remote-server-macos-{arch}.gz) and upload it alongside the DMG.
- Rust: Add get_github_release_remote_server_url() that fetches the binary
directly from Glass's GitHub Releases API, falling back to the cloud API
for compatibility.
Fixes Glass-HQ#38
Publish the full remote server asset matrix in Glass releases and resolve remote server downloads from Glass-owned release assets. This keeps SSH remoting working across macOS, Linux, and Windows targets while app releases remain Mac-only for now.
Set ZED_APP_VERSION from the release tag in every remote-server build job and use the derived app version in the macOS Info.plist so released binaries look up the matching Glass remote-server assets.
e3a5a03 to
fba0067
Compare
Use the platform-specific remote server archive extension for local cache paths and prune both .gz and .zip cached archives. This keeps Windows remote-server releases aligned with the published asset format and avoids stale zip archives accumulating in the cache.
Allow the run_tests workflow to execute for Glass-HQ repositories instead of skipping the orchestrate, check_style, and tests_pass jobs due to upstream-only repository owner guards.
Run the x86_64 macOS bundle jobs on explicit Intel macOS runners instead of arm64 mac runners. This avoids the broken x86_64 cross-build path observed in the remote server release validation workflow and keeps Apple Silicon builds unchanged.
Update Glass to the gpui commit that fixes objc BOOL constants in gpui_metal for Intel macOS so the x86_64 mac remote server bundle can compile on the Intel runner path.
Replace the upstream hardcoded Developer ID identity with Glass's Apple-issued Developer ID Application identity and matching team ID for macOS bundle signing.
Use the same base64-decoding behavior as the working release_glass workflow when writing APPLE_NOTARIZATION_KEY for notarytool so Intel mac bundle notarization consumes the secret in the correct format.
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.
Summary
Fixes #38 by publishing the remote server assets Glass needs for SSH remoting and by resolving those assets from Glass-owned releases instead of Zed's release service.
What Changed
release_glass.yml:zed-remote-server-macos-aarch64.gzzed-remote-server-macos-x86_64.gzzed-remote-server-linux-aarch64.gzzed-remote-server-linux-x86_64.gzzed-remote-server-windows-aarch64.zipzed-remote-server-windows-x86_64.zipauto_update.rsso remote server downloads use deterministic Glass GitHub release URLs for versioned builds. This fixes both remote-server download paths instead of only the direct URL branch.ZED_APP_VERSIONfrom the release tag in every release build job and used the derived version in the macOSInfo.plist, so released binaries request the matching remote-server assets.Why
Glass currently builds
remote_serverduring releases but only publishes the Mac app DMG and symbols. Remote SSH then fails when Glass tries to fetch assets likezed-remote-server-linux-x86_64.gzthat were never released.The previous PR version only packaged a macOS asset and only changed one code path. That would not fix the original Linux remote-target failure or the local-download fallback path. It also would have left future releases vulnerable to version/tag mismatches.
Verification
cargo test -p auto_update --lib test_glass_remote_server_release_asset_ruby -e 'require "yaml"; YAML.load_file(".github/workflows/release_glass.yml"); puts "yaml ok"'git diff --checkNotes:
cargo test -p auto_update --librun reached the updated tests successfully, but an existing async test (test_auto_update_downloads) exceeded 60 seconds locally, so I did not treat that as a blocker for this change.Follow-up Manual Testing
release_glass.ymlwith a temporary release version to validate the workflow matrix.x86_64VM and confirm Glass downloads the Linux remote server and opens the project.Release Notes: