40
40
- lazurite
41
41
- mate
42
42
- vauxite
43
- nvidia_version :
44
- - 0 # No Nvidia drivers (this indicates to only build " main" image target
45
- - 550 # Latest Nvidia driver (update IS_LATEST_DRIVER below if version changes)
43
+ image_target :
44
+ - main
45
+ - nvidia
46
46
exclude :
47
47
# There is no Fedora 38 version of onyx or lazurite
48
48
- image_name : onyx
58
58
- image_name : mate
59
59
fedora_version : 40
60
60
# Don't build/push "main" since it would be a duplicate of the "base" `*-main` images
61
- - nvidia_version : 0
62
- hwe_flavor : main
61
+ - hwe_flavor : main
62
+ image_target : main
63
63
# Only build latest Fedora versions for "asus" and "surface" HWE flavors
64
64
- fedora_version : 38
65
65
hwe_flavor : asus
@@ -79,13 +79,13 @@ jobs:
79
79
shell : bash
80
80
run : |
81
81
if [[ "${{ matrix.hwe_flavor }}" == "main" ]]; then
82
- if [[ "${{ matrix.nvidia_version }}" == "0 " ]]; then
82
+ if [[ "${{ matrix.image_target }}" == "main " ]]; then
83
83
echo "this workflow does not build main image without Nvidia drivers"
84
84
exit 1
85
85
fi
86
86
echo "IMAGE_NAME=${{ matrix.image_name }}-nvidia" >> $GITHUB_ENV
87
87
else
88
- if [[ "${{ matrix.nvidia_version }}" == "0 " ]]; then
88
+ if [[ "${{ matrix.image_target }}" == "main " ]]; then
89
89
echo "IMAGE_NAME=${{ matrix.image_name }}-${{ matrix.hwe_flavor }}" >> $GITHUB_ENV
90
90
else
91
91
echo "IMAGE_NAME=${{ matrix.image_name }}-${{ matrix.hwe_flavor }}-nvidia" >> $GITHUB_ENV
99
99
run : |
100
100
# Generate a timestamp for creating an image version history
101
101
TIMESTAMP="$(date +%Y%m%d)"
102
- if [[ "${{ matrix.nvidia_version }}" == "0" ]]; then
103
- VARIANT="${{ matrix.fedora_version }}"
104
- else
105
- VARIANT="${{ matrix.fedora_version }}-${{ matrix.nvidia_version }}"
106
- fi
102
+ VARIANT="${{ matrix.fedora_version }}"
107
103
108
104
if [[ "${{ matrix.fedora_version }}" -eq "38" ]]; then
109
105
IS_LATEST_VERSION=false
@@ -119,10 +115,6 @@ jobs:
119
115
IS_GTS_VERSION=false
120
116
fi
121
117
122
- if [[ "${{ matrix.nvidia_version }}" -eq "550" ]]; then
123
- IS_LATEST_DRIVER=true
124
- fi
125
-
126
118
COMMIT_TAGS=()
127
119
BUILD_TAGS=()
128
120
@@ -132,33 +124,26 @@ jobs:
132
124
COMMIT_TAGS+=("${SHA_SHORT}-${VARIANT}")
133
125
134
126
if [[ "${IS_LATEST_VERSION}" == "true" ]] && \
135
- [[ "${IS_STABLE_VERSION}" == "true" ]] && \
136
- [[ "${IS_LATEST_DRIVER}" == "true" ]]; then
127
+ [[ "${IS_STABLE_VERSION}" == "true" ]]; then
137
128
COMMIT_TAGS+=("pr-${{ github.event.number }}")
138
129
COMMIT_TAGS+=("${SHA_SHORT}")
139
130
fi
140
131
141
132
BUILD_TAGS=("${VARIANT}")
142
133
143
- if [[ "${IS_LATEST_DRIVER}" == "true" ]]; then
144
- BUILD_TAGS+=("${{ matrix.fedora_version }}-current")
145
- BUILD_TAGS+=("${{ matrix.fedora_version }}")
146
- fi
147
-
148
134
# Append matching timestamp tags to keep a version history
149
135
for TAG in "${BUILD_TAGS[@]}"; do
150
136
BUILD_TAGS+=("${TAG}-${TIMESTAMP}")
151
137
done
152
138
153
139
if [[ "${IS_LATEST_VERSION}" == "true" ]] && \
154
- [[ "${IS_STABLE_VERSION}" == "true" ]] && \
155
- [[ "${IS_LATEST_DRIVER}" == "true" ]]; then
140
+ [[ "${IS_STABLE_VERSION}" == "true" ]]; then
156
141
BUILD_TAGS+=("${TIMESTAMP}")
157
142
BUILD_TAGS+=("latest")
158
143
fi
159
144
160
145
if [[ "${IS_GTS_VERSION}" == "true" ]] && \
161
- [[ "${IS_LATEST_DRIVER }" == "true" ]]; then
146
+ [[ "${IS_STABLE_VERSION }" == "true" ]]; then
162
147
BUILD_TAGS+=("gts-${TIMESTAMP}")
163
148
BUILD_TAGS+=("gts")
164
149
fi
@@ -205,7 +190,7 @@ jobs:
205
190
${{ env.IMAGE_NAME }}
206
191
labels : |
207
192
org.opencontainers.image.title=${{ env.IMAGE_NAME }}
208
- org.opencontainers.image.description=ublue-os ${{ matrix.image_name }}${{ matrix.hwe_flavor == 'asus' && ' for ASUS devices' || '' }}${{ matrix.hwe_flavor == 'surface' && ' for Surface laptops' || ''}}${{ matrix.nvidia_version != '0 ' && ' with Nvidia drivers' || ''}}
193
+ org.opencontainers.image.description=ublue-os ${{ matrix.image_name }}${{ matrix.hwe_flavor == 'asus' && ' for ASUS devices' || '' }}${{ matrix.hwe_flavor == 'surface' && ' for Surface laptops' || ''}}${{ matrix.image_target == 'nvidia ' && ' with Nvidia drivers' || ''}}
209
194
org.opencontainers.image.version=${{ env.SOURCE_IMAGE_VERSION }}
210
195
io.artifacthub.package.readme-url=https://raw.githubusercontent.com/${{ github.repository }}/main/README.md
211
196
io.artifacthub.package.logo-url=https://avatars.githubusercontent.com/u/1728152?s=200&v=4
@@ -234,13 +219,12 @@ jobs:
234
219
IMAGE_NAME=${{ matrix.image_name }}
235
220
SOURCE_IMAGE=${{ env.SOURCE_IMAGE }}
236
221
FEDORA_MAJOR_VERSION=${{ matrix.fedora_version }}
237
- NVIDIA_MAJOR_VERSION=${{ matrix.nvidia_version }}
238
222
HWE_FLAVOR=${{ matrix.hwe_flavor }}
239
223
RPMFUSION_MIRROR=${{ vars.RPMFUSION_MIRROR }}
240
224
labels : ${{ steps.meta.outputs.labels }}
241
225
oci : false
242
226
extra-args : |
243
- --target=${{ matrix.nvidia_version == '0' && 'main' || 'nvidia' }}
227
+ --target=${{ matrix.image_target }}
244
228
245
229
# Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR.
246
230
# https://github.com/macbre/push-to-ghcr/issues/12
0 commit comments