Skip to content

πŸ’š (ci) [NO-ISSUE]: Add devtools desktop app build workflow#1303

Merged
OlivierFreyssinet merged 4 commits intodevelopfrom
support/no-issue-devtools-build-workflow
Feb 13, 2026
Merged

πŸ’š (ci) [NO-ISSUE]: Add devtools desktop app build workflow#1303
OlivierFreyssinet merged 4 commits intodevelopfrom
support/no-issue-devtools-build-workflow

Conversation

@OlivierFreyssinet
Copy link
Contributor

@OlivierFreyssinet OlivierFreyssinet commented Feb 11, 2026

πŸ“ Description

Add a GitHub Actions workflow to build the Devtools Electron desktop app for macOS (arm64) and Linux, with artifacts published to a GitHub Release on pushes to develop.

Key changes:

  • New workflow .github/workflows/build_devtools.yml that builds macOS (arm64) and Linux (AppImage, deb, snap) artifacts
  • Fix composite action setup-with-cache-composite to work on macOS (replace hardcoded /home/runner with $HOME)
  • Use pnpm deploy --legacy to flatten workspace symlinks before electron-builder packaging (workaround for electron-builder + pnpm workspace compatibility)
  • Fix electron-builder config: explicit artifact names
  • Replace default Electron icon with Ledger icon (1024x1024)

Workflow features:

  • Triggers on push to develop (when devtools/packages paths change) and workflow_dispatch
  • Concurrency group with cancel-in-progress
  • Publish to GitHub Release only on push triggers (not workflow_dispatch)

https://github.com/LedgerHQ/device-sdk-ts/releases/tag/devtools-latest

Screenshot 2026-02-11 at 18 09 17

❓ Context

  • JIRA or GitHub link: [NO-ISSUE]
  • Feature: CI/CD pipeline for building and distributing the Devtools desktop app

βœ… Checklist

  • Covered by automatic tests β€” The workflow itself has been tested via multiple CI runs on this branch
  • Changeset is provided β€” Not applicable (CI/tooling change, no published packages affected)
  • Documentation is up-to-date
  • Impact of the changes:
    • New CI workflow for devtools desktop app builds
    • Composite action now works on macOS runners (cross-platform $HOME path)
    • electron-builder config improvements (artifact naming, icon, product name)
    • Build scripts made consistent across platforms

Made with Cursor

@OlivierFreyssinet OlivierFreyssinet requested a review from a team as a code owner February 11, 2026 17:12
Copilot AI review requested due to automatic review settings February 11, 2026 17:12
@vercel
Copy link

vercel bot commented Feb 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
device-sdk-ts-sample Ready Ready Preview, Comment Feb 13, 2026 8:59am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
doc-device-management-kit Ignored Ignored Feb 13, 2026 8:59am

Request Review

@ledger-wiz-cspm-secret-detection
Copy link

ledger-wiz-cspm-secret-detection bot commented Feb 11, 2026

Wiz Scan Summary

Scanner Findings
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations 1 Info
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total 1 Info

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

Replace hardcoded /home/runner/.proto/bin with $HOME/.proto/bin
so the setup action works on both Linux and macOS runners.

Co-authored-by: Cursor <cursoragent@cursor.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds CI automation to build and publish the Devtools Electron desktop app artifacts on pushes to develop, and updates supporting build/config assets and Danger reporting to make the pipeline more reliable across platforms.

Changes:

  • Add a new GitHub Actions workflow to build macOS (arm64) + Linux artifacts and publish them to an auto-updated GitHub Release.
  • Update Devtools packaging configuration (electron-builder artifact naming, product name, Linux executable name) and build scripts (ensure typecheck runs).
  • Refactor Danger checks to return structured outputs and generate a consolidated Markdown report (including step-summary support).

Reviewed changes

Copilot reviewed 4 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
danger/helpers.ts Refactors checks to return structured results and generates a consolidated report for CI/local runs.
danger/dangerfile-ci.ts Switches CI Danger execution to the new reporting/orchestration helpers.
danger/dangerfile-local.ts Switches local Danger execution to the new reporting/orchestration helpers.
danger/dangerfile-local-fork.ts Switches local-fork Danger execution to the new reporting/orchestration helpers.
apps/devtools/package.json Makes macOS/Linux build scripts consistent with Windows by running the shared build (incl. typecheck).
apps/devtools/electron-builder.yml Updates product/artifact naming and scopes executableName to Linux.
apps/devtools/build/icon.png Replaces the default Electron icon with a Ledger icon.
apps/devtools/build/icon.ico Adds/updates Windows icon asset.
apps/devtools/build/icon.icns Adds/updates macOS icon asset.
.github/workflows/build_devtools.yml New workflow that builds Devtools desktop artifacts for macOS/Linux and publishes to a GitHub Release.
.github/actions/setup-with-cache-composite/action.yml Makes proto path setup cross-platform by using $HOME instead of /home/runner.

πŸ’‘ Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

OlivierFreyssinet and others added 2 commits February 11, 2026 18:22
Build macOS (arm64) and Linux (AppImage, deb, snap) artifacts
using pnpm deploy to flatten workspace symlinks for electron-builder.
Publish to GitHub Release on pushes to develop.
Include xattr workaround instructions in release notes and step summary.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Set productName to "Ledger DMK DevTools"
- Add OS name and sanitized prefix in artifact filenames
- Move executableName to linux section only (fixes macOS app name)
- Make build:mac and build:linux scripts consistent with build:win
- Add 1024x1024 app icon and remove old default icon files

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

Danger Check Results

Messages

⚠️

No changeset file found. Please make sure this is intended or add a changeset file.

βœ…

Danger: All checks passed successfully! πŸŽ‰

Generated by 🚫 dangerJS against e4fabe6

apps/devtools-deploy/dist/ledger-dmk-devtools-*.snap
if-no-files-found: error

publish-to-release:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[ASK] Do we want to release it all the time or can we move this section in the release job?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The logic for doing it there is that it'll be useful during development of the DMK. If we do modifications on it, every dev of the team should be able to use the tools during dev phase, not waiting for those changes to be released.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could store it as an artifact instead, reserving the release publish for actual releases. Artifacts allow you to download the app without cluttering the release section with every job run

- Replace npm with pnpm in package.json scripts
- Extract inline docs from workflow into separate files

Co-authored-by: Cursor <cursoragent@cursor.com>
@OlivierFreyssinet OlivierFreyssinet added this pull request to the merge queue Feb 13, 2026
Merged via the queue into develop with commit 1167e28 Feb 13, 2026
31 checks passed
@OlivierFreyssinet OlivierFreyssinet deleted the support/no-issue-devtools-build-workflow branch February 13, 2026 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants