1- ---
21name : Build
3-
42on :
53 workflow_dispatch : {}
64 pull_request :
@@ -14,32 +12,47 @@ jobs:
1412 actions : read
1513 security-events : write
1614 contents : write
17- name : Build Ghostty
18- runs-on : ubuntu-latest
15+ name : Build Ghostty (${{ matrix.arch }})
16+ runs-on : ubuntu-24.04
1917 strategy :
2018 matrix :
21- container : [ "ubuntu:24.04", "arm64v8/ubuntu:24.04" ]
22- container :
23- image : ${{ matrix.container }}
24- options : " --privileged --cap-add SYS_ADMIN --device /dev/fuse"
19+ include :
20+ - arch : aarch64
21+ platform : linux/arm64
22+ - arch : x86_64
23+ platform : linux/amd64
2524 steps :
2625 - name : Checkout ghostty-appimage
2726 uses : actions/checkout@v4
2827 with :
2928 persist-credentials : false
3029
31- - name : Setup Build Env
32- run : ./setup.sh
30+ - name : Set up QEMU
31+ uses : docker/setup-qemu-action@v3
32+ continue-on-error : true
33+
34+ - name : Set up Docker Buildx
35+ uses : docker/setup-buildx-action@v3
36+ continue-on-error : true
3337
34- - name : Build Ghostty
35- run : ./build.sh
38+ - name : Build in Docker
39+ run : |
40+ docker run --rm --privileged \
41+ --cap-add SYS_ADMIN \
42+ --device /dev/fuse \
43+ --platform ${{ matrix.platform }} \
44+ -v ${{ github.workspace }}:/work \
45+ -v /tmp:/tmp \
46+ -w /work \
47+ ubuntu:24.04 \
48+ bash -c "./setup.sh && ./build.sh"
3649
3750 - name : Upload Artifact
3851 uses : actions/upload-artifact@v4
3952 with :
40- name : ghostty-appimage
53+ name : ghostty-appimage-${{ matrix.arch }}
4154 retention-days : 7
42- path : /tmp/ghostty-build/Ghostty-*-x86_64 .AppImage*
55+ path : /tmp/ghostty-build/Ghostty-*-${{ matrix.arch }} .AppImage*
4356
4457 release_appimage :
4558 permissions :
@@ -48,18 +61,19 @@ jobs:
4861 contents : write
4962 name : " Upload binaries to current release"
5063 runs-on : ubuntu-latest
51- if : ${{ github.event_name == 'release' }}
64+ # if: ${{ github.event_name == 'release' }}
5265 needs : " build_appimage"
5366 steps :
5467 - uses : actions/download-artifact@v4
5568 with :
56- name : ghostty-appimage
69+ pattern : ghostty-appimage-*
70+ merge-multiple : true
5771
5872 - name : Upload binaries to release
5973 uses : svenstaro/upload-release-action@v2
6074 with :
6175 repo_token : ${{ secrets.GITHUB_TOKEN }}
62- file : ./Ghostty-*-x86_64 .AppImage*
76+ file : ./Ghostty-*-* .AppImage*
6377 tag : ${{ github.ref }}
6478 overwrite : true
6579 file_glob : true
0 commit comments