Fix Linux desktop release AppImage staging name mismatch #292
Labels
No labels
abandoned
active
audit
blocked
data-safety
difficulty:easy
difficulty:hard
difficulty:high
difficulty:medium
docs
done
duplicate
notebook-v0
open
priority:high
ready
release-critical
safe-mode
spec
spec-backlog
subsystem:api
subsystem:backlog
subsystem:bases
subsystem:ci
subsystem:command
subsystem:configuration
subsystem:consolidate
subsystem:dependencies
subsystem:desktop-electron
subsystem:diffmerge
subsystem:docker
subsystem:docs
subsystem:fuzzy
subsystem:graph
subsystem:hotkeys
subsystem:lapis
subsystem:maint
subsystem:maintenance
subsystem:markdown
subsystem:markdown-lint
subsystem:md018
subsystem:notebook
subsystem:notifications
subsystem:opfs
subsystem:package
subsystem:plugin-markdown
subsystem:plugin-tasks
subsystem:plugins
subsystem:registry
subsystem:release
subsystem:renovate
subsystem:restore
subsystem:scripts
subsystem:search
subsystem:settings
subsystem:spec
subsystem:tasks
subsystem:testing
subsystem:ui
subsystem:web
subsystem:workspace
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lapis-notes/lapis#292
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Describe the issue.
Problem
build-linuxsucceeds, but staging fails because electron-builder emitsLapis-Notes-<version>-linux-x86_64.AppImagewhile the workflow copiesLapis-Notes-<version>-linux-x64.AppImage.Goal
Normalize Linux AppImage artifacts to the canonical
linux-x64release namebefore staging and fail loudly when the AppImage is missing.
Scope
release-desktop.ymlbuild-linux staging steprelease:desktop:localstaging pathafterAllArtifactBuildhookNon-goals
Acceptance Criteria
linux-x86_64.AppImageoutput andstages
linux-x64.AppImageImplementation Notes
electron-builder's
getArtifactArchName()usesx86_64for AppImage butx64for tar.gz. The previous rename hook swallowed ENOENT, so staging couldfail even when the build produced only the
x86_64filename.Suggested Files or Specs To Inspect
scripts/release-utils.mjsscripts/stage-linux-desktop-artifacts.mjs.forgejo/workflows/release-desktop.ymlpackages/desktop-electron/electron-builder.config.cjsValidation Commands
node --test scripts/release-utils.test.mjsnode scripts/stage-linux-desktop-artifacts.mjs <version>Related Issues
Follow-up Tasks
Implementation Summary
Added shared Linux AppImage normalization in release-utils, wired it into electron-builder afterAllArtifactBuild, release-desktop-local staging, and a new stage-linux-desktop-artifacts.mjs script used by build-linux. Staging now accepts electron-builder's linux-x86_64.AppImage output and copies the canonical linux-x64.AppImage name. Validated with release-utils tests and a simulated x86_64-only staging run.