mirror of
https://github.com/bitwarden/browser
synced 2025-12-11 22:03:36 +00:00
[bre-1149] linux desktop arm builds - continuation of community PR#16096 (#17254)
* adding arm64 snap, flatpak and tar variant to releases now for future flatpak consumption * adding arm64 snap, flatpak and tar build process --------- Co-authored-by: fredrmb <69513590+fredrmb@users.noreply.github.com>
This commit is contained in:
45
.github/workflows/build-desktop.yml
vendored
45
.github/workflows/build-desktop.yml
vendored
@@ -304,7 +304,6 @@ jobs:
|
|||||||
path: apps/desktop/dist/com.bitwarden.desktop.flatpak
|
path: apps/desktop/dist/com.bitwarden.desktop.flatpak
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
|
||||||
linux-arm64:
|
linux-arm64:
|
||||||
name: Linux ARM64 Build
|
name: Linux ARM64 Build
|
||||||
# Note, before updating the ubuntu version of the workflow, ensure the snap base image
|
# Note, before updating the ubuntu version of the workflow, ensure the snap base image
|
||||||
@@ -338,14 +337,24 @@ jobs:
|
|||||||
- name: Set up environment
|
- name: Set up environment
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get -y install pkg-config libxss-dev rpm musl-dev musl-tools flatpak flatpak-builder
|
sudo apt-get -y install pkg-config libxss-dev rpm musl-dev musl-tools flatpak flatpak-builder squashfs-tools ruby ruby-dev rubygems build-essential
|
||||||
|
sudo gem install --no-document fpm
|
||||||
|
|
||||||
|
- name: Set up Snap
|
||||||
|
run: sudo snap install snapcraft --classic
|
||||||
|
|
||||||
|
- name: Install snaps required by snapcraft in destructive mode
|
||||||
|
run: |
|
||||||
|
sudo snap install core22
|
||||||
|
sudo snap install gtk-common-themes
|
||||||
|
sudo snap install gnome-3-28-1804
|
||||||
|
|
||||||
- name: Print environment
|
- name: Print environment
|
||||||
run: |
|
run: |
|
||||||
node --version
|
node --version
|
||||||
npm --version
|
npm --version
|
||||||
snap --version
|
snap --version
|
||||||
snapcraft --version || echo 'snapcraft unavailable'
|
snapcraft --version
|
||||||
|
|
||||||
- name: Install Node dependencies
|
- name: Install Node dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
@@ -403,8 +412,19 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Build application
|
- name: Build application
|
||||||
|
env:
|
||||||
|
# Snapcraft environment variables to bypass LXD requirement on ARM64
|
||||||
|
SNAPCRAFT_BUILD_ENVIRONMENT: host
|
||||||
|
USE_SYSTEM_FPM: true
|
||||||
run: npm run dist:lin:arm64
|
run: npm run dist:lin:arm64
|
||||||
|
|
||||||
|
- name: Upload .snap artifact
|
||||||
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
|
with:
|
||||||
|
name: bitwarden_${{ env._PACKAGE_VERSION }}_arm64.snap
|
||||||
|
path: apps/desktop/dist/bitwarden_${{ env._PACKAGE_VERSION }}_arm64.snap
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Upload tar.gz artifact
|
- name: Upload tar.gz artifact
|
||||||
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
|
||||||
with:
|
with:
|
||||||
@@ -412,6 +432,19 @@ jobs:
|
|||||||
path: apps/desktop/dist/bitwarden_desktop_arm64.tar.gz
|
path: apps/desktop/dist/bitwarden_desktop_arm64.tar.gz
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
- name: Build flatpak
|
||||||
|
working-directory: apps/desktop
|
||||||
|
run: |
|
||||||
|
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||||
|
sudo npm run pack:lin:flatpak
|
||||||
|
|
||||||
|
- name: Upload flatpak artifact
|
||||||
|
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
|
||||||
|
with:
|
||||||
|
name: com.bitwarden.desktop-arm64.flatpak
|
||||||
|
path: apps/desktop/dist/com.bitwarden.desktop.flatpak
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
windows:
|
windows:
|
||||||
name: Windows Build
|
name: Windows Build
|
||||||
runs-on: windows-2022
|
runs-on: windows-2022
|
||||||
@@ -905,7 +938,6 @@ jobs:
|
|||||||
path: apps/desktop/dist/nsis-web/${{ needs.setup.outputs.release_channel }}.yml
|
path: apps/desktop/dist/nsis-web/${{ needs.setup.outputs.release_channel }}.yml
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
|
||||||
macos-build:
|
macos-build:
|
||||||
name: MacOS Build
|
name: MacOS Build
|
||||||
runs-on: macos-13
|
runs-on: macos-13
|
||||||
@@ -1117,7 +1149,6 @@ jobs:
|
|||||||
- name: Build application (dev)
|
- name: Build application (dev)
|
||||||
run: npm run build
|
run: npm run build
|
||||||
|
|
||||||
|
|
||||||
browser-build:
|
browser-build:
|
||||||
name: Browser Build
|
name: Browser Build
|
||||||
needs: setup
|
needs: setup
|
||||||
@@ -1129,7 +1160,6 @@ jobs:
|
|||||||
pull-requests: write
|
pull-requests: write
|
||||||
id-token: write
|
id-token: write
|
||||||
|
|
||||||
|
|
||||||
macos-package-github:
|
macos-package-github:
|
||||||
name: MacOS Package GitHub Release Assets
|
name: MacOS Package GitHub Release Assets
|
||||||
runs-on: macos-13
|
runs-on: macos-13
|
||||||
@@ -1390,7 +1420,6 @@ jobs:
|
|||||||
path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-mac.yml
|
path: apps/desktop/dist/${{ needs.setup.outputs.release_channel }}-mac.yml
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
|
|
||||||
macos-package-mas:
|
macos-package-mas:
|
||||||
name: MacOS Package Prod Release Asset
|
name: MacOS Package Prod Release Asset
|
||||||
runs-on: macos-13
|
runs-on: macos-13
|
||||||
@@ -1771,7 +1800,6 @@ jobs:
|
|||||||
upload_sources: true
|
upload_sources: true
|
||||||
upload_translations: false
|
upload_translations: false
|
||||||
|
|
||||||
|
|
||||||
check-failures:
|
check-failures:
|
||||||
name: Check for failures
|
name: Check for failures
|
||||||
if: always()
|
if: always()
|
||||||
@@ -1823,4 +1851,3 @@ jobs:
|
|||||||
SLACK_WEBHOOK_URL: ${{ steps.retrieve-secrets.outputs.devops-alerts-slack-webhook-url }}
|
SLACK_WEBHOOK_URL: ${{ steps.retrieve-secrets.outputs.devops-alerts-slack-webhook-url }}
|
||||||
with:
|
with:
|
||||||
status: ${{ job.status }}
|
status: ${{ job.status }}
|
||||||
|
|
||||||
|
|||||||
2
.github/workflows/release-desktop.yml
vendored
2
.github/workflows/release-desktop.yml
vendored
@@ -109,6 +109,8 @@ jobs:
|
|||||||
apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-x86_64.rpm,
|
apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-x86_64.rpm,
|
||||||
apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-x64.freebsd,
|
apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-x64.freebsd,
|
||||||
apps/desktop/artifacts/bitwarden_${{ env.PKG_VERSION }}_amd64.snap,
|
apps/desktop/artifacts/bitwarden_${{ env.PKG_VERSION }}_amd64.snap,
|
||||||
|
apps/desktop/artifacts/bitwarden_${{ env.PKG_VERSION }}_arm64.snap,
|
||||||
|
apps/desktop/artifacts/bitwarden_${{ env.PKG_VERSION }}_arm64.tar.gz,
|
||||||
apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-x86_64.AppImage,
|
apps/desktop/artifacts/Bitwarden-${{ env.PKG_VERSION }}-x86_64.AppImage,
|
||||||
apps/desktop/artifacts/Bitwarden-Portable-${{ env.PKG_VERSION }}.exe,
|
apps/desktop/artifacts/Bitwarden-Portable-${{ env.PKG_VERSION }}.exe,
|
||||||
apps/desktop/artifacts/Bitwarden-Installer-${{ env.PKG_VERSION }}.exe,
|
apps/desktop/artifacts/Bitwarden-Installer-${{ env.PKG_VERSION }}.exe,
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
"pack:dir": "npm run clean:dist && electron-builder --dir -p never",
|
"pack:dir": "npm run clean:dist && electron-builder --dir -p never",
|
||||||
"pack:lin:flatpak": "flatpak-builder --repo=../../.flatpak-repo ../../.flatpak ./resources/com.bitwarden.desktop.devel.yaml --install-deps-from=flathub --force-clean && flatpak build-bundle ../../.flatpak-repo/ ./dist/com.bitwarden.desktop.flatpak com.bitwarden.desktop",
|
"pack:lin:flatpak": "flatpak-builder --repo=../../.flatpak-repo ../../.flatpak ./resources/com.bitwarden.desktop.devel.yaml --install-deps-from=flathub --force-clean && flatpak build-bundle ../../.flatpak-repo/ ./dist/com.bitwarden.desktop.flatpak com.bitwarden.desktop",
|
||||||
"pack:lin": "npm run clean:dist && electron-builder --linux --x64 -p never && export SNAP_FILE=$(realpath ./dist/bitwarden_*.snap) && unsquashfs -d ./dist/tmp-snap/ $SNAP_FILE && mkdir -p ./dist/tmp-snap/meta/polkit/ && cp ./resources/com.bitwarden.desktop.policy ./dist/tmp-snap/meta/polkit/polkit.com.bitwarden.desktop.policy && rm $SNAP_FILE && snap pack --compression=lzo ./dist/tmp-snap/ && mv ./*.snap ./dist/ && rm -rf ./dist/tmp-snap/",
|
"pack:lin": "npm run clean:dist && electron-builder --linux --x64 -p never && export SNAP_FILE=$(realpath ./dist/bitwarden_*.snap) && unsquashfs -d ./dist/tmp-snap/ $SNAP_FILE && mkdir -p ./dist/tmp-snap/meta/polkit/ && cp ./resources/com.bitwarden.desktop.policy ./dist/tmp-snap/meta/polkit/polkit.com.bitwarden.desktop.policy && rm $SNAP_FILE && snap pack --compression=lzo ./dist/tmp-snap/ && mv ./*.snap ./dist/ && rm -rf ./dist/tmp-snap/",
|
||||||
"pack:lin:arm64": "npm run clean:dist && electron-builder --dir -p never && tar -czvf ./dist/bitwarden_desktop_arm64.tar.gz -C ./dist/linux-arm64-unpacked/ .",
|
"pack:lin:arm64": "npm run clean:dist && electron-builder --linux --arm64 -p never && export SNAP_FILE=$(realpath ./dist/bitwarden_*.snap) && unsquashfs -d ./dist/tmp-snap/ $SNAP_FILE && mkdir -p ./dist/tmp-snap/meta/polkit/ && cp ./resources/com.bitwarden.desktop.policy ./dist/tmp-snap/meta/polkit/polkit.com.bitwarden.desktop.policy && rm $SNAP_FILE && snap pack --compression=lzo ./dist/tmp-snap/ && mv ./*.snap ./dist/ && rm -rf ./dist/tmp-snap/ && tar -czvf ./dist/bitwarden_desktop_arm64.tar.gz -C ./dist/linux-arm64-unpacked/ .",
|
||||||
"pack:mac": "npm run clean:dist && electron-builder --mac --universal -p never",
|
"pack:mac": "npm run clean:dist && electron-builder --mac --universal -p never",
|
||||||
"pack:mac:with-extension": "npm run clean:dist && npm run build:macos-extension:mac && electron-builder --mac --universal -p never",
|
"pack:mac:with-extension": "npm run clean:dist && npm run build:macos-extension:mac && electron-builder --mac --universal -p never",
|
||||||
"pack:mac:arm64": "npm run clean:dist && electron-builder --mac --arm64 -p never",
|
"pack:mac:arm64": "npm run clean:dist && electron-builder --mac --arm64 -p never",
|
||||||
|
|||||||
Reference in New Issue
Block a user