Skip to content

feat: upgrade linux-tools to latest mac toolsets#168

Draft
mmaietta wants to merge 7 commits into
electron-userland:masterfrom
mmaietta:linux-tools-v1
Draft

feat: upgrade linux-tools to latest mac toolsets#168
mmaietta wants to merge 7 commits into
electron-userland:masterfrom
mmaietta:linux-tools-v1

Conversation

@mmaietta
Copy link
Copy Markdown
Collaborator

This pull request introduces a new workflow and build system for producing a portable macOS bundle of GNU/Linux-compatible tools, which are used when packaging Linux targets on macOS. The changes include a major version bump for the linux-tools package, a new GitHub Actions workflow for building the bundle, and robust scripts to automate the collection, patching, and packaging of required binaries and their dependencies.

Key changes:

Build System & Automation

  • Added a new build script (build-mac.sh) that automates the installation, collection, license gathering, dependency patching, code-signing, and packaging of GNU/Linux-compatible tools for macOS, ensuring all binaries and libraries are portable and self-contained.
  • Introduced a wrapper script (build.sh) to orchestrate the build process and output the resulting bundle to a standardized directory.

Copy link
Copy Markdown

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

This PR adds an automated build system and CI workflow to produce a portable macOS bundle of GNU/Linux-related tooling (linux-tools) used by electron-builder when packaging Linux targets on macOS.

Changes:

  • Add packages/linux-tools/assets/build-mac.sh to install Homebrew formulas, collect binaries + dylib deps, patch install names, codesign, and archive the resulting bundle.
  • Add packages/linux-tools/build.sh wrapper plus a new GitHub Actions workflow to build and upload the bundle for both Intel and Apple Silicon runners.
  • Add a changeset marking a major release for linux-tools, and enrich linux-tools package metadata with a description.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
packages/linux-tools/package.json Adds a package description clarifying the purpose/contents of linux-tools.
packages/linux-tools/build.sh New wrapper script that runs the macOS bundle build and writes output to a standard out/ directory.
packages/linux-tools/assets/build-mac.sh Core build script: installs dependencies, collects binaries/libs, patches dylib paths, signs, verifies, and creates an archive.
.github/workflows/build.yaml Wires linux-tools into the main “Build artifacts” workflow matrix.
.github/workflows/build-linux-tools.yaml New reusable workflow to build linux-tools on macOS Intel + ARM runners and upload the archive artifact.
.changeset/eleven-ghosts-bow.md Declares a major linux-tools release corresponding to the tooling upgrade/build system change.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread packages/linux-tools-mac/assets/build-mac.sh
Comment thread packages/linux-tools-mac/assets/build-mac.sh
Comment thread packages/linux-tools/assets/build-mac.sh Outdated
Comment thread packages/linux-tools-mac/assets/build-mac.sh
Comment thread packages/linux-tools-mac/assets/build-mac.sh
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