Skip to content

BRE-536/Add-ARM-targz-builds-for-desktop-and-cli #14270

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 37 commits into from
Apr 17, 2025

Conversation

aj-bw
Copy link
Member

@aj-bw aj-bw commented Apr 14, 2025

🎟️ Tracking

https://bitwarden.atlassian.net/browse/BRE-536

📔 Objective

update our desktop and CLI build workflows to produce a Linux build compatible with ARM64 arch. This first ticket will be adding a tar.gz package type only for desktop, and the regular binary no snap for CLI. Additional types will be added in subsequent work

Updated the build.js file to allow for more flexibility and specifying arch while maintaining functionality of existing cross-platform call being used elsewhere in the workflow

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@aj-bw aj-bw requested a review from a team as a code owner April 14, 2025 13:47
@aj-bw aj-bw requested review from coroiu, a team and Copilot April 14, 2025 13:47
Copy link

@Copilot 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.

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

Files not reviewed (2)
  • apps/cli/package.json: Language not supported
  • apps/desktop/package.json: Language not supported
Comments suppressed due to low confidence (3)

apps/desktop/desktop_native/build.js:51

  • A new ARM64 target is added; please add corresponding tests to ensure that the ARM64 build process works as intended.
['aarch64-unknown-linux-musl', 'arm64']

.github/workflows/build-desktop.yml:309

  • Verify that the 'ubuntu-22.04-arm' runner is supported by GitHub Actions; if not, update the runner label to prevent potential workflow failures.
runs-on: ubuntu-22.04-arm

.github/workflows/build-cli.yml:99

  • Ensure that the conditional runner assignment works as expected for all entries in the build matrix to avoid unintended runner mismatches.
runs-on: ${{ matrix.os.runner || matrix.os.distro }}

Copy link

codecov bot commented Apr 14, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 36.87%. Comparing base (5006a29) to head (41819c8).
Report is 41 commits behind head on main.

✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #14270      +/-   ##
==========================================
- Coverage   36.88%   36.87%   -0.01%     
==========================================
  Files        3202     3213      +11     
  Lines       92454    92648     +194     
  Branches    16579    16632      +53     
==========================================
+ Hits        34103    34166      +63     
- Misses      55937    56061     +124     
- Partials     2414     2421       +7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented Apr 14, 2025

Logo
Checkmarx One – Scan Summary & Details4ef5744f-7522-4980-85d8-27645cff0830

New Issues (4)

Checkmarx found the following issues in this Pull Request

Severity Issue Source File / Package Checkmarx Insight
CRITICAL CVE-2025-3619 Npm-electron-34.0.0
detailsDescription: The package google chrome versions prior to 135.0.7049.95 is vulnerable to Heap Buffer Overflow in Codecs.
Attack Vector: NETWORK
Attack Complexity: LOW

ID: AP2eEeFhoao8GjNENLYioTQq0WRrxyab178VnSXaccg%3D
Vulnerable Package
HIGH CVE-2025-27152 Npm-axios-1.7.9
detailsRecommended version: 1.8.2
Description: Axios is a promise-based HTTP client for the browser and node.js. The issue occurs when passing absolute URLs rather than protocol-relative URLs to...
Attack Vector: NETWORK
Attack Complexity: LOW

ID: hWn1CSfFTW66UIUPdVwsgpOt1cCfWMszM5jAZ74UHvg%3D
Vulnerable Package
HIGH CVE-2025-3620 Npm-electron-34.0.0
detailsDescription: The package google chrome versions prior to 135.0.7049.95 is vulnerable to Use after free in USB.
Attack Vector: NETWORK
Attack Complexity: LOW

ID: h2qh3WGt7B%2FdwactCl6NBYfivpohgPuhzAvzri0eh3Q%3D
Vulnerable Package
MEDIUM CVE-2025-32379 Npm-koa-2.15.4
detailsDescription: Koa is expressive middleware for Node.js using ES2017 async functions. In koa versions prior to 2.16.1 and 3.x prior to 3.0.0-alpha.5, passing untr...
Attack Vector: NETWORK
Attack Complexity: HIGH

ID: BWOz040uNb6vTZEaF5xJdZTs0Gxx6zL3MmFCTPlKCfQ%3D
Vulnerable Package

Copy link
Contributor

@tangowithfoxtrot tangowithfoxtrot left a comment

Choose a reason for hiding this comment

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

Great work! Looking forward to ARM support on Linux!

I mostly just have a few formatting nits and a question:

@aj-bw aj-bw closed this Apr 17, 2025
@aj-bw
Copy link
Member Author

aj-bw commented Apr 17, 2025

closed and reopened to run workflow linter again

@aj-bw aj-bw reopened this Apr 17, 2025
@aj-bw aj-bw merged commit c7259b4 into main Apr 17, 2025
80 of 81 checks passed
@aj-bw aj-bw deleted the BRE-536/add-ARM-targz-builds-for-desktop-and-cli branch April 17, 2025 12:21
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.

5 participants