Skip to content

Commit 5ac30bd

Browse files
Adapted to Debian Bullseye/Bookworm and corresponding Qt6 builds (Qt5 is EOL)
1 parent cead07c commit 5ac30bd

File tree

2 files changed

+28
-44
lines changed

2 files changed

+28
-44
lines changed

.github/workflows/push_pull.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,18 @@ jobs:
1717

1818
# GitHub Push/Pull Request
1919
github_build:
20-
name: Qt ${{ matrix.qt_version }} Build (${{ matrix.build_type }})
20+
name: ${{ matrix.build.description }}
2121
strategy:
2222
fail-fast: false
2323
matrix:
24-
build_type: [ 'debug', 'release' ]
25-
qt_version: [ '5', '6' ]
24+
build: [
25+
{ type: 'debug', description: 'Debug build' },
26+
{ type: 'release', description: 'Release build' }
27+
]
2628
uses: ./.github/workflows/qt5_6.yml
2729
secrets: inherit
2830
with:
29-
qt_version: ${{ matrix.qt_version }}
30-
build_type: ${{ matrix.build_type }}
31+
build_type: ${{ matrix.build.type }}
3132
upload_artifact: ${{ startsWith(github.event.ref, 'refs/tags') }}
3233

3334
# Publish to GitHub (Only on tagged commits with date format e.g. 2025-01-31)

.github/workflows/qt5_6.yml

Lines changed: 22 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,6 @@ on:
44
# Reusable from push_pull.yml
55
workflow_call:
66
inputs:
7-
qt_version:
8-
type: string
9-
description: Build with this Qt version
10-
default: '5'
11-
required: false
127
build_type:
138
type: string
149
description: The build type (debug or release)
@@ -33,21 +28,15 @@ jobs:
3328
fail-fast: false
3429
matrix:
3530
os: [
36-
{ distribution: debian, codename: buster, description: Debian Buster (x86_64), architecture: [ amd64, linux/amd64 ], platform: x11 },
37-
{ distribution: debian, codename: buster, description: Debian Buster (Raspberry Pi 1 & Zero 1), architecture: [ armv6, linux/arm/v6 ], platform: rpi },
38-
{ distribution: debian, codename: buster, description: Debian Buster (Raspberry Pi 2), architecture: [ armv7, linux/arm/v7 ], platform: rpi },
39-
{ distribution: debian, codename: buster, description: Debian Buster (Raspberry Pi 3/4/5 & Zero 2), architecture: [ arm64, linux/arm64 ], platform: rpi },
40-
{ distribution: debian, codename: bullseye, description: Debian Bullseye (x86_64), architecture: [ amd64, linux/amd64 ], platform: x11 },
41-
{ distribution: debian, codename: bullseye, description: Debian Bullseye (Raspberry Pi 2), architecture: [ armv7, linux/arm/v7 ], platform: rpi },
42-
{ distribution: debian, codename: bullseye, description: Debian Bullseye (Raspberry Pi 3/4/5 & Zero 2), architecture: [ arm64, linux/arm64 ], platform: rpi }
31+
{ distribution: debian, codename: bullseye, description: Debian Bullseye (x86_64), architecture: [ amd64, linux/amd64 ], platform: x11, qt_version: '6' },
32+
{ distribution: debian, codename: bullseye, description: Debian Bullseye (Raspberry Pi 1 & Zero 1), architecture: [ armv6, linux/arm/v6 ], platform: rpi, qt_version: '5' }, # Qt6 not available on Debian Bullseye (armv6)
33+
{ distribution: debian, codename: bullseye, description: Debian Bullseye (Raspberry Pi 2), architecture: [ armv7, linux/arm/v7 ], platform: rpi, qt_version: '6' },
34+
{ distribution: debian, codename: bullseye, description: Debian Bullseye (Raspberry Pi 3/4/5 & Zero 2), architecture: [ arm64, linux/arm64 ], platform: rpi, qt_version: '6' },
35+
{ distribution: debian, codename: bookworm, description: Debian Bookworm (x86_64), architecture: [ amd64, linux/amd64 ], platform: x11, qt_version: '6'},
36+
{ distribution: debian, codename: bookworm, description: Debian Bookworm (Raspberry Pi 1 & Zero 1), architecture: [ armv6, linux/arm/v6 ], platform: rpi, qt_version: '6' },
37+
{ distribution: debian, codename: bookworm, description: Debian Bookworm (Raspberry Pi 2), architecture: [ armv7, linux/arm/v7 ], platform: rpi, qt_version: '6' },
38+
{ distribution: debian, codename: bookworm, description: Debian Bookworm (Raspberry Pi 3/4/5 & Zero 2), architecture: [ arm64, linux/arm64 ], platform: rpi, qt_version: '6' }
4339
]
44-
isQt5:
45-
- ${{ inputs.qt_version == '5' }}
46-
exclude:
47-
- isQt5: true
48-
os: { distribution: debian, codename: bullseye }
49-
- isQt5: false
50-
os: { distribution: debian, codename: buster }
5140

5241
steps:
5342
- name: ⬇ Checkout
@@ -76,14 +65,14 @@ jobs:
7665
cp -a /source/build/install/. /deploy/ 2>/dev/null"
7766
env:
7867
DOCKER_IMAGE: ${{ matrix.os.distribution }}
79-
DOCKER_TAG: ${{ matrix.os.codename }}${{ inputs.qt_version == '6' && '-qt6' || '' }}
68+
DOCKER_TAG: ${{ matrix.os.codename }}${{ matrix.os.qt_version == '6' && '-qt6' || '' }}
8069
ENTRYPOINT: ${{ matrix.os.architecture[0] != 'amd64' && '--entrypoint /usr/bin/env' || '' }}
8170

8271
- name: 📦 Upload
8372
if: ${{ inputs.upload_artifact }}
8473
uses: actions/upload-artifact@v4
8574
with:
86-
name: ${{ format('{0}_{1}-{2}-qt{3}-{4}', matrix.os.distribution, matrix.os.codename, matrix.os.architecture[0], inputs.qt_version, inputs.build_type) }}
75+
name: ${{ format('{0}_{1}-{2}-qt{3}-{4}', matrix.os.distribution, matrix.os.codename, matrix.os.architecture[0], matrix.os.qt_version, inputs.build_type) }}
8776
path: deploy/*
8877

8978
######################
@@ -114,7 +103,7 @@ jobs:
114103
- name: 📥 Install Qt
115104
uses: jurplel/install-qt-action@v4
116105
with:
117-
version: ${{ inputs.qt_version == '6' && '6.8' || '5.15.*' }}
106+
version: '6.8'
118107
target: 'desktop'
119108
cache: 'true'
120109
cache-key-prefix: 'cache-qt-macos'
@@ -129,7 +118,7 @@ jobs:
129118
if: ${{ inputs.upload_artifact }}
130119
uses: actions/upload-artifact@v4
131120
with:
132-
name: ${{ format('macos-{0}-qt{1}-{2}', matrix.architecture, inputs.qt_version, inputs.build_type) }}
121+
name: ${{ format('macos-{0}-qt6-{1}', matrix.architecture, inputs.build_type) }}
133122
path: build/install/*
134123

135124
######################
@@ -145,11 +134,6 @@ jobs:
145134
fail-fast: false
146135
matrix:
147136
architecture: [ arm64, x64 ]
148-
isQt5:
149-
- ${{ inputs.qt_version == '5' }}
150-
exclude:
151-
- isQt5: true
152-
architecture: arm64
153137

154138
steps:
155139
- name: ⬇ Checkout
@@ -164,21 +148,20 @@ jobs:
164148
submodules: recursive
165149
path: hyperion
166150

151+
- name: 📥 Install Python
152+
uses: actions/setup-python@v5
153+
with:
154+
python-version: '3.13.3'
155+
architecture: ${{ matrix.architecture }}
156+
167157
- name: 📥 Install Qt
168-
# If the following PR is merged, you can switch back to jurplel/install-qt-action
169-
# https://github.com/jurplel/install-qt-action/pull/273
170-
uses: jdpurcell/install-qt-action@v5
158+
uses: jurplel/install-qt-action@v4
171159
with:
172-
version: ${{ inputs.qt_version == '6' && '6.8.*' || '5.15.*' }}
160+
version: '6.8.*'
173161
target: 'desktop'
174162
cache: 'true'
175163
cache-key-prefix: 'cache-qt-windows'
176-
177-
- name: 📥 Install Python
178-
uses: actions/setup-python@v5
179-
with:
180-
python-version: 3.13
181-
architecture: ${{ matrix.architecture }}
164+
setup-python: 'false'
182165

183166
- name: 📥 Install latest CMake and Ninja
184167
uses: lukka/get-cmake@latest
@@ -202,5 +185,5 @@ jobs:
202185
if: ${{ inputs.upload_artifact }}
203186
uses: actions/upload-artifact@v4
204187
with:
205-
name: ${{ format('windows-{0}-qt{1}-{2}', matrix.architecture, inputs.qt_version, env.BUILD_TYPE) }}
188+
name: ${{ format('windows-{0}-qt6-{1}', matrix.architecture, env.BUILD_TYPE) }}
206189
path: build/install/*

0 commit comments

Comments
 (0)