Skip to content

Commit 4618f6f

Browse files
committed
Enable arm64 Linux builds in release workflow
1 parent 99f5648 commit 4618f6f

File tree

1 file changed

+64
-32
lines changed

1 file changed

+64
-32
lines changed

.github/workflows/release.yml

Lines changed: 64 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,34 @@ name: Release
22

33
on:
44
push:
5+
branches: '*'
56
tags: '*'
67

78
jobs:
89
build-linux-release:
910
runs-on: ubuntu-20.04
1011
strategy:
1112
matrix:
12-
qt-version: ['6.8']
13-
qt-target: ['desktop']
14-
qt-modules: ['']
15-
arch: ['amd64']
13+
include:
14+
- qt-version: '6.8'
15+
qt-target: 'desktop'
16+
qt-modules: ''
17+
arch: 'amd64'
18+
- qt-version: '6.8'
19+
qt-target: 'desktop'
20+
qt-modules: 'qtshadertools'
21+
arch: 'aarch64'
1622
steps:
23+
- name: Maximize build space
24+
uses: easimon/maximize-build-space@master
25+
with:
26+
root-reserve-mb: 512
27+
swap-size-mb: 1024
28+
remove-dotnet: true
29+
remove-android: true
30+
remove-haskell: true
31+
remove-codeql: true
32+
remove-docker-images: true
1733
- uses: actions/checkout@v4
1834
with:
1935
fetch-depth: 0
@@ -53,44 +69,58 @@ jobs:
5369
run: echo is_prerelease=1 >> "${GITHUB_ENV}"
5470
shell: bash
5571
# Install Qt
56-
- if: contains(matrix.arch, 'amd64')
57-
name: Install Qt
72+
- name: Install Qt
5873
uses: jurplel/install-qt-action@v4
5974
with:
6075
version: ${{ matrix.qt-version }}
61-
host: 'linux'
62-
arch: 'linux_gcc_64'
76+
arch: linux_gcc_64
6377
target: ${{ matrix.qt-target }}
6478
modules: ${{ matrix.qt-modules }}
79+
dir: ${{ github.workspace }}/Qt_host
80+
- name: Set host Qt path
81+
run: echo "QT_HOST_PATH=${QT_ROOT_DIR}" >> "${GITHUB_ENV}"
82+
shell: bash
6583
- if: "!contains(matrix.arch, 'amd64')"
6684
name: Restore cross-compiled Qt from cache
67-
id: cache-qt-cross
68-
uses: actions/cache@v3
85+
id: restore-qt-cross
86+
uses: jlanga/cache/restore@remove-files
6987
with:
70-
path: |
71-
./qt-host/
72-
./qt-cross/
73-
./sysroot/
88+
path: ./qt-cross/
7489
key: qt-cross-${{ runner.os }}-${{ matrix.qt-version }}-${{ matrix.qt-target }}-${{ matrix.qt-modules }}-${{ matrix.arch }}
75-
restore-keys:
76-
qt-cross-${{ runner.os }}-${{ matrix.qt-version }}-${{ matrix.qt-target }}-${{ matrix.qt-modules }}-${{ matrix.arch }}
77-
- if: "!contains(matrix.arch, 'amd64') && steps.cache-qt-cross.outputs.cache-hit != 'true'"
78-
name: Cross-compile Qt
90+
- if: "!contains(matrix.arch, 'amd64')"
91+
name: Set cross Qt path
92+
run: echo "QT_CROSS_PATH=$(pwd)/qt-cross" >> "$GITHUB_ENV"
7993
shell: bash
80-
run: .ci/build_qt6.sh "${{ matrix.qt-version }}" "${{ matrix.qt-modules }}" "${{ matrix.arch }}"
81-
# Build
8294
- if: "!contains(matrix.arch, 'amd64')"
8395
name: Prepare cross-compilation environment
8496
run: .ci/prepare_cross_build.sh "${{ matrix.arch }}"
8597
shell: bash
98+
- if: "!contains(matrix.arch, 'amd64') && steps.restore-qt-cross.outputs.cache-hit != 'true'"
99+
name: Cross-compile Qt
100+
shell: bash
101+
run: .ci/build_qt6.sh "${{ matrix.qt-version }}" "${{ matrix.qt-modules }}" "${{ matrix.arch }}"
102+
- if: "!contains(matrix.arch, 'amd64') && steps.restore-qt-cross.outputs.cache-hit != 'true'"
103+
name: Cache and remove cross-compiled Qt
104+
id: cache-qt-cross
105+
uses: jlanga/cache/save@remove-files
106+
with:
107+
path: ./qt-cross/
108+
key: qt-cross-${{ runner.os }}-${{ matrix.qt-version }}-${{ matrix.qt-target }}-${{ matrix.qt-modules }}-${{ matrix.arch }}
109+
- if: "!contains(matrix.arch, 'amd64') && steps.restore-qt-cross.outputs.cache-hit != 'true'"
110+
name: Restore cross-compiled Qt from cache
111+
uses: jlanga/cache/restore@remove-files
112+
with:
113+
path: ./qt-cross/
114+
key: qt-cross-${{ runner.os }}-${{ matrix.qt-version }}-${{ matrix.qt-target }}-${{ matrix.qt-modules }}-${{ matrix.arch }}
115+
# Build
86116
- name: Build AppImage
87-
run: .ci/build_appimage.sh
117+
run: .ci/build_appimage.sh ${{ matrix.arch }}
88118
shell: 'script -q -e -c "bash {0}"'
89119
# Upload artifacts
90120
- name: Upload artifacts
91121
uses: actions/upload-artifact@v4
92122
with:
93-
name: build-linux-${{ matrix.arch }}
123+
name: build-Qt-${{ matrix.qt-version }}-${{ matrix.arch }}
94124
path: |
95125
*.AppImage
96126
*.zsync
@@ -226,6 +256,8 @@ jobs:
226256
shell: bash
227257
- name: Download artifacts
228258
uses: actions/download-artifact@v3
259+
- run: find
260+
shell: bash
229261
#- if: env.upload_online_app == 1
230262
# name: Upload online app
231263
# run: |
@@ -242,13 +274,13 @@ jobs:
242274
# git branch -m master
243275
# git push -f origin master
244276
# shell: bash
245-
- if: env.create_release == 1
246-
name: Create release
247-
uses: ncipollo/release-action@v1
248-
with:
249-
#artifacts: "build-windows/*.exe,build-linux-*/*.AppImage,build-linux-*/*.zsync,build-macos/*.dmg"
250-
artifacts: "build-windows/*.exe,build-linux-*/*.AppImage,build-linux-*/*.zsync"
251-
name: "${{ env.app_name }} ${{ env.version }}"
252-
owner: ${{ github.event.pusher.name }}
253-
draft: true
254-
token: ${{ secrets.GITHUB_TOKEN }}
277+
# - if: env.create_release == 1
278+
# name: Create release
279+
# uses: ncipollo/release-action@v1
280+
# with:
281+
# #artifacts: "build-windows/*.exe,build-linux-*/*.AppImage,build-linux-*/*.zsync,build-macos/*.dmg"
282+
# artifacts: "build-windows/*.exe,build-linux-*/*.AppImage,build-linux-*/*.zsync"
283+
# name: "${{ env.app_name }} ${{ env.version }}"
284+
# owner: ${{ github.event.pusher.name }}
285+
# draft: true
286+
# token: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)