Add a publish-snap job to the CI workflow that runs after build and
only triggers for version tags (refs/tags/v*). The job downloads the
linux build artifacts, installs snapcraft, locates the generated .snap
file and uploads it to the Snapcraft Store releasing to the stable
channel. It validates the presence of a snap file and fails if none is
found.
This enables automated Snap distribution for tagged releases using the
SNAPCRAFT_STORE_CREDENTIALS secret.
Update GitHub Actions workflow to support multiple OS runners and CPU
architectures, standardize matrix keys, and adjust platform-specific
steps and artifact names.
- Replace simple os matrix with include entries specifying os, runner,
and arch to allow macOS x64/arm64 separation and explicit runners for
linux/windows.
- Use runner matrix value for runs-on and change timeout/strategy
accordingly.
- Adjust conditional checks to use normalized os values (linux, macos,
windows) rather than platform-specific runner labels.
- Install Linux system deps only when os == 'linux' and keep Flatpak
setup for electron-builder.
- Add a macOS-specific make step that passes the architecture to the
electron make command, while keeping a combined make step for
non-macOS builds.
- Upload macOS artifacts per architecture and rename artifact paths to
include arch; update release files list to include both macOS x64 and
arm64 artifact patterns.
These changes enable reliable, architecture-aware macOS builds,
prevent native module conflicts across runners, and ensure artifacts
are labeled and uploaded correctly.
Remove unused url.format import and switch from loadURL with a
formatted file: URL to loadFile for production. This simplifies code,
avoids manual file URL construction, and makes the production path
loading more robust.
Also update CI job to build the frontend via the NX command
(npx nx build web --skip-nx-cache) instead of npm run build:frontend,
aligning the workflow with the monorepo's canonical build command.
Update the GitHub release action to mark releases from pull
request events as prerelease and to set a safe tag name when the
is not triggered by a tag ref.
- Set prerelease to true when github.event_name == 'pull_request'
so draft releases created during PR workflows are marked as
prereleases.
- Use the tag name from github.ref_name when the workflow is
triggered by a tag; otherwise generate a deterministic test tag
"test-<sha>" to avoid using an invalid or empty tag name.
This prevents accidental full releases from PR runs and ensures the
action always has a valid tag_name value.
Update the CMD instruction in the Dockerfile to target
main.js instead of main-*.js for better specificity.
Modify the tag and release names in the GitHub Actions
workflow to follow a consistent naming convention,
ensuring clarity in versioning.
Adds a step to install jq and retrieves the version from
package.json to tag the Docker image. This ensures that the
Docker image is versioned correctly based on the package
version, improving traceability and deployment consistency.
Modifies the tagName and releaseName in the Tauri release
workflow to include platform and arguments for better
version identification. This change enhances clarity and
consistency in release management.