Skip to content

Commit 61b65f9

Browse files
committed
feat: Add arm64 build workflow
1 parent a396db8 commit 61b65f9

1 file changed

Lines changed: 61 additions & 0 deletions

File tree

.github/workflows/build_arm64.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Build Monero GUI ARM64
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
monero_tag:
7+
description: Official Monero-GUI Tag to build (e.g., v0.18.5.0)
8+
required: true
9+
default: v0.18.5.0
10+
11+
jobs:
12+
build-arm64:
13+
name: Patch and Build Upstream Tag
14+
runs-on: ubuntu-24.04-arm
15+
16+
steps:
17+
- name: Checkout Local Repository (for the patch file)
18+
uses: actions/checkout@v4
19+
with:
20+
path: local-repo
21+
22+
- name: Checkout Official Upstream Tag
23+
uses: actions/checkout@v4
24+
with:
25+
repository: monero-project/monero-gui
26+
ref: ${{ github.event.inputs.monero_tag }}
27+
submodules: recursive
28+
path: monero-gui
29+
30+
- name: Apply aarch64 Branch Patch
31+
run: |
32+
cd monero-gui
33+
git apply ../local-repo/arm64-build-support.patch
34+
echo "Patch successfully applied to ${{ github.event.inputs.monero_tag }}"
35+
36+
- name: Set up Docker Buildx
37+
uses: docker/setup-buildx-action@v3
38+
39+
- name: Build Build-Env Image
40+
uses: docker/build-push-action@v5
41+
with:
42+
context: ./monero-gui
43+
file: ./monero-gui/Dockerfile.linux
44+
tags: monero:build-env-linux
45+
build-args: |
46+
THREADS=2
47+
outputs: type=docker,dest=/tmp/art.tar
48+
49+
- name: Load Image into Local Docker Daemon
50+
run: docker load -i /tmp/art.tar
51+
52+
- name: Execute Deterministic Compilation
53+
run: |
54+
docker run --rm -v ${{ github.workspace }}/monero-gui:/monero-gui w /monero-gui monero:build-env-linux sh -c "make release-static-arm64 -j2"
55+
56+
- name: Upload Patched Binary Artifact
57+
uses: actions/upload-artifact@v4
58+
with:
59+
name: monero-wallet-gui-${{ github.event.inputs.monero_tag }}-arm64
60+
path: monero-gui/build/release/bin/monero-wallet-gui
61+
if-no-files-found: error

0 commit comments

Comments
 (0)