ci(gui-client/linux): see if we can build the GUI Client for ARM (#5793)

This would make it a little easier to replicate prod issues on old
releases

```[tasklist]
### Tasks
- [x] Add comment to changelog
- [x] Check Vercel preview
- [x] Request review
- [x] Update arches link
- [x] `apt-get update`
- [x] Re-request review
```
This commit is contained in:
Reactor Scram
2024-07-08 21:30:48 +00:00
committed by GitHub
parent 0ff45c34f9
commit e0326be807
4 changed files with 31 additions and 5 deletions

View File

@@ -15,18 +15,18 @@ runs:
shell: bash
- name: Install Tauri build deps
if: ${{ runner.os == 'Linux' }}
run: sudo apt-get install libwebkit2gtk-4.0-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
run: sudo apt-get --yes install build-essential libwebkit2gtk-4.0-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev
shell: bash
- name: Install gnome-keyring
if: ${{ runner.os == 'Linux' }}
run: sudo apt-get install gnome-keyring
run: sudo apt-get --yes install gnome-keyring
shell: bash
# This is only needed if we'll launch the Tauri GUI, so it's redundant for clippy / test
# This is what the Tauri CI tests use
# <https://github.com/tauri-apps/tauri/blob/3fb414b61ad7cfce67751230826fddfb39effec5/.github/workflows/bench.yml#L74>
- name: Install Tauri runtime deps
if: ${{ runner.os == 'Linux' && inputs.runtime == 'true' }}
run: sudo apt-get install at-spi2-core xvfb
run: sudo apt-get --yes install at-spi2-core xvfb
shell: bash
- uses: actions/cache@v4
if: ${{ runner.os == 'Windows' && inputs.runtime == 'true' }}

View File

@@ -33,6 +33,15 @@ jobs:
syms-artifact: rust/gui-client/firezone-client-gui-linux_1.1.5_x86_64.dwp
# mark:next-gui-version
pkg-artifact: rust/gui-client/firezone-client-gui-linux_1.1.5_x86_64.deb
- runs-on: ubuntu-20.04-arm
# mark:next-gui-version
binary-dest-path: firezone-client-gui-linux_1.1.5_aarch64
rename-script: ../../scripts/build/tauri-rename-ubuntu.sh
upload-script: ../../scripts/build/tauri-upload-ubuntu.sh
# mark:next-gui-version
syms-artifact: rust/gui-client/firezone-client-gui-linux_1.1.5_aarch64.dwp
# mark:next-gui-version
pkg-artifact: rust/gui-client/firezone-client-gui-linux_1.1.5_aarch64.deb
- runs-on: windows-2019
# mark:next-gui-version
binary-dest-path: firezone-client-gui-windows_1.1.5_x86_64

View File

@@ -16,7 +16,7 @@ present to authenticate with your identity provider interactively.
- Ubuntu **20.04** or **22.04**. Other distributions may work, but are not
officially supported.
- **x86-64** CPU architecture
- **x86-64** or **ARM64** CPU architecture
- **systemd-resolved**. Ubuntu already uses this by default.
## Installation
@@ -25,6 +25,7 @@ Download the `.deb` package from our [changelog page](/changelog), or from the
direct link below:
- [Download the Linux GUI `.deb` for `x86-64`](/dl/firezone-client-gui-linux/latest/x86_64)
- [Download the Linux GUI `.deb` for `ARM64`](/dl/firezone-client-gui-linux/latest/aarch64)
Run these commands:

View File

@@ -7,10 +7,26 @@ export default function GUI({ title }: { title: string }) {
title === "Windows"
? "/dl/firezone-client-gui-windows/:version/:arch"
: "/dl/firezone-client-gui-linux/:version/:arch";
const arches = ["x86_64"];
const arches =
title === "Windows"
? ["x86_64"]
: ["x86_64", "aarch64"];
return (
<Entries href={href} arches={arches} title={title}>
{/*<Entry version="1.1.5" date={new Date("2024-07-08")}>
<ul className="list-disc space-y-2 pl-4 mb-4">
<li className="pl-2">
The Linux GUI Client is now{" "}
<Link
href="https://github.com/firezone/firezone/pull/5793"
className="text-accent-500 underline hover:no-underline"
>
built for both x86-64 and ARM64
</Link>{" "}
</li>
</ul>
</Entry>*/}
<Entry version="1.1.4" date={new Date("2024-07-05")}>
<ul className="list-disc space-y-2 pl-4 mb-4">
<li className="pl-2">