Skip to content

Commit fdfd6f4

Browse files
committed
Fixing release workflow
1 parent 617e786 commit fdfd6f4

4 files changed

Lines changed: 29 additions & 32 deletions

File tree

.github/workflows/release.yml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,14 +85,14 @@ jobs:
8585
LATEST_TAG=$(git tag -l 'v*' --sort=-version:refname | head -n1 || true)
8686
if [[ -n "$LATEST_TAG" ]]; then
8787
TAG_VERSION="${LATEST_TAG#v}"
88-
if [[ "$NEW_VERSION" == "$TAG_VERSION" ]]; then
88+
if [[ "$NEW_VERSION" == "$TAG_VERSION" && "$EVENT_NAME" != "workflow_dispatch" ]]; then
8989
echo "Version $NEW_VERSION already released as $LATEST_TAG, skipping"
9090
echo "should_release=false" >> "$GITHUB_OUTPUT"
9191
echo "version=$NEW_VERSION" >> "$GITHUB_OUTPUT"
9292
exit 0
9393
fi
9494
HIGHER=$(printf '%s\n%s' "$TAG_VERSION" "$NEW_VERSION" | sort -V | tail -1)
95-
if [[ "$HIGHER" == "$TAG_VERSION" ]]; then
95+
if [[ "$HIGHER" == "$TAG_VERSION" && "$NEW_VERSION" != "$TAG_VERSION" ]]; then
9696
echo "::error::Version $NEW_VERSION is lower than existing release $TAG_VERSION"
9797
exit 1
9898
fi
@@ -116,8 +116,13 @@ jobs:
116116
run: |
117117
git config user.name "github-actions[bot]"
118118
git config user.email "github-actions[bot]@users.noreply.github.com"
119-
git tag -a "v${{ needs.version-check.outputs.version }}" -m "Release v${{ needs.version-check.outputs.version }}"
120-
git push origin "v${{ needs.version-check.outputs.version }}"
119+
TAG="v${{ needs.version-check.outputs.version }}"
120+
if git rev-parse "$TAG" >/dev/null 2>&1; then
121+
echo "Tag $TAG already exists, skipping"
122+
else
123+
git tag -a "$TAG" -m "Release $TAG"
124+
git push origin "$TAG"
125+
fi
121126
122127
- name: '📦 Create GitHub Release'
123128
uses: softprops/action-gh-release@v2
@@ -143,18 +148,20 @@ jobs:
143148
- name: '📦 Install dependencies'
144149
run: |
145150
pacman -Syu --noconfirm
146-
pacman -S --noconfirm cmake make gcc flex bison pkgconf gtest \
151+
pacman -S --noconfirm cmake make gcc flex bison pkgconf \
147152
cairo pango fontconfig freetype2 harfbuzz libxml2 zlib libpng libjpeg-turbo \
153+
mesa libx11 python \
148154
git
149155
150156
- name: '🛠️ Configure to generate PKGBUILD'
151157
run: |
152-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo
158+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo -DBUILD_UNIT_TESTS=OFF
153159
cp build/PKGBUILD-arch PKGBUILD
154160
155161
- name: '📦 Build package'
156162
run: |
157163
useradd -m builder
164+
echo 'builder ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builder
158165
chown -R builder: .
159166
su builder -c "makepkg -s --noconfirm --skippgpcheck"
160167
@@ -199,21 +206,19 @@ jobs:
199206
bison
200207
base-devel
201208
pacboy: >-
202-
toolchain:p
203209
cmake:p
204210
make:p
205211
cairo:p
206212
pango:p
207213
libxml2:p
208-
gtest:p
209214
pkg-config:p
210215
zlib:p
211216
libpng:p
212217
libjpeg-turbo:p
213218
214219
- name: '🛠️ Configure to generate PKGBUILD'
215220
run: |
216-
cmake -G "MSYS Makefiles" -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo
221+
cmake -G "MSYS Makefiles" -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo -DBUILD_UNIT_TESTS=OFF
217222
cp build/PKGBUILD-msys2 PKGBUILD
218223
219224
- name: '📦 Build package'
@@ -245,7 +250,7 @@ jobs:
245250
run: |
246251
export PATH="/opt/homebrew/opt/bison/bin:$PATH"
247252
export PKG_CONFIG_PATH="/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH"
248-
cmake -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo
253+
cmake -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo -DBUILD_UNIT_TESTS=OFF
249254
250255
- name: '🔑 Compute source tarball sha256'
251256
id: sha
@@ -287,10 +292,11 @@ jobs:
287292
run: |
288293
sudo apt-get update
289294
sudo apt-get install -y cmake build-essential pkg-config libcairo-dev \
290-
libpango1.0-dev libxml2-dev zlib1g-dev libpng-dev libjpeg-dev
295+
libpango1.0-dev libxml2-dev zlib1g-dev libpng-dev libjpeg-dev \
296+
libgl-dev libx11-dev
291297
292298
- name: '🛠️ Configure to generate port files'
293-
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo
299+
run: cmake -B build -DCMAKE_BUILD_TYPE=Release -DAEONGUI_BACKEND=Cairo -DBUILD_UNIT_TESTS=OFF
294300

295301
- name: '🔑 Compute source SHA512'
296302
id: sha

CMakeLists.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,9 @@ set_target_properties(button_plugin PROPERTIES
287287
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/images"
288288
)
289289

290-
add_subdirectory(demos/OpenGL)
290+
if(OpenGL_FOUND)
291+
add_subdirectory(demos/OpenGL)
292+
endif()
291293
if(APPLE)
292294
add_subdirectory(demos/Metal)
293295
endif()
@@ -296,7 +298,10 @@ if(WIN32)
296298
add_subdirectory(demos/Direct3D12)
297299
endif()
298300

299-
set(DEMO_DIRS ${CMAKE_SOURCE_DIR}/demos/OpenGL)
301+
set(DEMO_DIRS "")
302+
if(OpenGL_FOUND)
303+
list(APPEND DEMO_DIRS ${CMAKE_SOURCE_DIR}/demos/OpenGL)
304+
endif()
300305
if(APPLE)
301306
list(APPEND DEMO_DIRS ${CMAKE_SOURCE_DIR}/demos/Metal)
302307
endif()
@@ -375,9 +380,9 @@ file(INSTALL LICENSE DESTINATION share/aeongui RENAME copyright)
375380

376381
# --- Packaging templates ---
377382
configure_file("${CMAKE_SOURCE_DIR}/cmake/PKGBUILD-arch.in"
378-
"${CMAKE_BINARY_DIR}/PKGBUILD-arch" @ONLY)
383+
"${CMAKE_BINARY_DIR}/PKGBUILD-arch" @ONLY NEWLINE_STYLE UNIX)
379384
configure_file("${CMAKE_SOURCE_DIR}/cmake/PKGBUILD-msys2.in"
380-
"${CMAKE_BINARY_DIR}/PKGBUILD-msys2" @ONLY)
385+
"${CMAKE_BINARY_DIR}/PKGBUILD-msys2" @ONLY NEWLINE_STYLE UNIX)
381386
configure_file("${CMAKE_SOURCE_DIR}/cmake/vcpkg-port-vcpkg.json.in"
382387
"${CMAKE_BINARY_DIR}/vcpkg-port/vcpkg.json" @ONLY)
383388
configure_file("${CMAKE_SOURCE_DIR}/cmake/vcpkg-port-portfile.cmake.in"

cmake/PKGBUILD-arch.in

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ depends=(
1616
'zlib'
1717
'libpng'
1818
'libjpeg-turbo'
19+
'mesa'
20+
'libx11'
1921
)
2022
makedepends=(
2123
'cmake'
@@ -24,7 +26,6 @@ makedepends=(
2426
'flex'
2527
'bison'
2628
'pkgconf'
27-
'gtest'
2829
)
2930
source=("https://github.com/AeonGames/AeonGUI/archive/v${pkgver}.tar.gz")
3031
sha256sums=('SKIP')
@@ -38,13 +39,6 @@ build() {
3839
cmake --build build
3940
}
4041

41-
check() {
42-
cmake -B build -S "AeonGUI-${pkgver}" \
43-
-DBUILD_UNIT_TESTS=ON
44-
cmake --build build --target unit-tests
45-
ctest --test-dir build --output-on-failure
46-
}
47-
4842
package() {
4943
DESTDIR="${pkgdir}" cmake --install build
5044
install -Dm644 "AeonGUI-${pkgver}/LICENSE" \

cmake/PKGBUILD-msys2.in

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ makedepends=(
2525
"${MINGW_PACKAGE_PREFIX}-make"
2626
"${MINGW_PACKAGE_PREFIX}-toolchain"
2727
"${MINGW_PACKAGE_PREFIX}-pkg-config"
28-
"${MINGW_PACKAGE_PREFIX}-gtest"
2928
"flex"
3029
"bison"
3130
)
@@ -42,13 +41,6 @@ build() {
4241
cmake --build build
4342
}
4443

45-
check() {
46-
cmake -B build -S "AeonGUI-${pkgver}" \
47-
-DBUILD_UNIT_TESTS=ON
48-
cmake --build build --target unit-tests
49-
ctest --test-dir build --output-on-failure
50-
}
51-
5244
package() {
5345
DESTDIR="${pkgdir}" cmake --install build
5446
install -Dm644 "AeonGUI-${pkgver}/LICENSE" \

0 commit comments

Comments
 (0)