Skip to content

Commit 1925f9f

Browse files
committed
feat: build arm64 binary
1 parent a5e379c commit 1925f9f

File tree

2 files changed

+25
-23
lines changed

2 files changed

+25
-23
lines changed

.github/workflows/go.yml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,35 @@ jobs:
2323

2424
- name: Install Build Dependencies
2525
run: |
26+
dpkg --add-architecture arm64
2627
apt-get update
27-
apt-get install -y libbtrfs-dev libdevmapper-dev libgpgme-dev pkg-config build-essential libdpkg-dev
28-
29-
- name: Build
30-
run: go build -o abrootv2 -ldflags="-X 'main.Version=${{ github.sha }}'"
28+
apt-get install -y libbtrfs-dev libdevmapper-dev libgpgme-dev libdpkg-dev gcc patch pkgconf libdevmapper-dev:arm64 libdpkg-dev:arm64 gcc-aarch64-linux-gnu
3129
3230
- name: Run Tests
3331
run: go test -v ./tests/...
3432

33+
- name: Build
34+
run: |
35+
go build -o abrootv2 -ldflags="-X 'main.Version=${{ github.sha }}'"
36+
tar -czvf abrootv2-amd64.tar.gz abrootv2
37+
apt-get install -y libgpgme-dev:arm64
38+
GOARCH=arm64 CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig go build -o abrootv2 -ldflags="-X 'main.Version=${{ github.sha }}'"
39+
tar -czvf abrootv2-arm64.tar.gz abrootv2
40+
tar -czvf abroot-man.tar.gz man/man1/abroot.1
41+
3542
- name: Check for Missing Strings
3643
uses: vanilla-os/missing-strings-golang-action@v0.1.0
3744

38-
- name: Compress Package
39-
run: tar -czvf abrootv2.tar.gz abrootv2
40-
41-
- name: Compress Manpage
42-
run: tar -czvf abroot-man.tar.gz man/man1/abroot.1
43-
4445
- name: Calculate and Save Checksums
4546
run: |
46-
sha256sum abrootv2.tar.gz >> checksums.txt
47+
sha256sum abrootv2*.tar.gz >> checksums.txt
4748
sha256sum abroot-man.tar.gz >> checksums.txt
4849
4950
- uses: actions/upload-artifact@v4
5051
with:
5152
name: abrootv2
5253
path: |
53-
abrootv2.tar.gz
54+
abrootv2*.tar.gz
5455
abroot-man.tar.gz
5556
checksums.txt
5657
@@ -62,6 +63,6 @@ jobs:
6263
prerelease: true
6364
name: "Continuous Build"
6465
files: |
65-
abrootv2.tar.gz
66+
abrootv2*.tar.gz
6667
abroot-man.tar.gz
6768
checksums.txt

.github/workflows/release.yml

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,28 +23,29 @@ jobs:
2323

2424
- name: Install Build Dependencies
2525
run: |
26+
dpkg --add-architecture arm64
2627
apt-get update
27-
apt-get install -y libbtrfs-dev libdevmapper-dev libgpgme-dev pkg-config build-essential libdpkg-dev
28+
apt-get install -y libbtrfs-dev libdevmapper-dev libgpgme-dev libdpkg-dev gcc patch pkgconf libdevmapper-dev:arm64 libdpkg-dev:arm64 gcc-aarch64-linux-gnu
2829
2930
- name: Build
30-
run: go build -o abrootv2 -ldflags="-X 'main.Version=${{ github.ref_name }}'"
31-
32-
- name: Compress Package
33-
run: tar -czvf abrootv2.tar.gz abrootv2
34-
35-
- name: Compress Manpage
36-
run: tar -czvf abroot-man.tar.gz man/man1/abroot.1
31+
run: |
32+
go build -o abrootv2 -ldflags="-X 'main.Version=${{ github.ref_name }}'"
33+
tar -czvf abrootv2-amd64.tar.gz abrootv2
34+
apt-get install -y libgpgme-dev:arm64
35+
GOARCH=arm64 CGO_ENABLED=1 CC=aarch64-linux-gnu-gcc PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig go build -o abrootv2 -ldflags="-X 'main.Version=${{ github.ref_name }}'"
36+
tar -czvf abrootv2-arm64.tar.gz abrootv2
37+
tar -czvf abroot-man.tar.gz man/man1/abroot.1
3738
3839
- name: Calculate and Save Checksums
3940
run: |
40-
sha256sum abrootv2.tar.gz >> checksums.txt
41+
sha256sum abrootv2*.tar.gz >> checksums.txt
4142
sha256sum abroot-man.tar.gz >> checksums.txt
4243
4344
- uses: actions/upload-artifact@v4
4445
with:
4546
name: abroot
4647
path: |
47-
abrootv2.tar.gz
48+
abrootv2*.tar.gz
4849
abroot-man.tar.gz
4950
checksums.txt
5051

0 commit comments

Comments
 (0)