Repository navigation
Fix the release's Linux package check for the bundled localhost command - #39
Merged
Merged
Conversation
…ild them on pull requests that change packaging
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
The v0.3.0 Release workflow failed in "Build the .deb, .rpm and AppImage" (run 40994864318, job "Build the Linux packages") right after
tauri buildfinished and signed all three bundles, with no output.Why
The check was wrong, not the packages. The step ran
bash -ewithoutpipefail, so the failing command was the first check'sgrep:Tauri writes a
.deb'sdata.tar.gzwith paths relative to its data folder, with no./prefix (create_tar_from_dirin tauri-bundlerlinux/debian.rsusesstrip_prefix). Sodpkg-deb --contentslistsusr/bin/localhost, and a pattern requiring./usr/bin/localhostcan never match. A failinggrep -q-style match prints nothing, which explains the empty log.The command is in the package. The bundler copies
externalBinintousr/binwith the target triple stripped (copy_binariesinsettings.rs:localhost-x86_64-unknown-linux-gnu→usr/bin/localhost, the same folder aslocalhost-app). The AppImage is built from that folder too. The.rpmcheck never ran.What changed
scripts/check-linux-packages.sh <bundle folder> <version>unpacks each package instead of parsing a tool's listing:.debwithdpkg-deb -x,.rpmwithrpm2cpio | cpio, the AppImage with--appimage-extract(no FUSE needed). For each it checks thatusr/bin/localhostexists and is executable, runs it, and checks it sayslocalhost <version>. When one is wrong it prints the error and what that package'susr/binholds. All three are checked even if one fails.release.yml: the inline greps are replaced by a step "Check the localhost command in every package" running that script with the tag's version, and the Linux job installscpiobesiderpm..github/workflows/packages.yml: builds the unsigned.deb,.rpmand AppImage exactly as the release does, sidecar included, and runs the same script. It runs on pull requests touchingrelease.yml, the script, the Tauri config,src-tauri/Cargo.toml,src-tauri/src/agents.rsorcore/localhost-cli/, or by hand. It runs on this PR, so the fix is proven on Ubuntu 22.04 before a new tag.RELEASING.mdmentions both.On PATH
.deband.rpm: the command lands at/usr/bin/localhostonce installed, which is on the PATH.usr/bin/localhost. The app copies it to~/.local/share/localhost/bin/localhostat launch for agents, and Settings → Agents → Add to PATH links~/.local/bin/localhostto it.How it was checked
shellcheckon the script andactionlinton all workflows: clean.Nothing here touches the
v0.3.0tag or its draft. Re-running the release is yours to decide once this is merged: delete the draft and the tag, then tag again (RELEASING.md, "When the workflow fails").