Updates and cleanup of multi-patform build tests (#212)

- Simplify creation of build matrix.
 - Added macos-latest build
 - Renamed VERSION to VERSION.txt, this was problematic on macos build
 - Added placeholders for installing optional dependencies for windows and macos builds in the future.
This commit is contained in:
Jaye Evins
2025-06-25 11:33:32 -04:00
committed by GitHub
parent 4c0ce1146a
commit 3a4bb61f44
4 changed files with 29 additions and 19 deletions
+27 -16
View File
@@ -4,10 +4,10 @@
# - ubuntu-latest - clang
# - ubuntu-24.04 - gcc (For backwards compatablity)
# - windows-latest - cl
# - macos-latest - clang
#
# TODO:
# - macos
# - install optional dependencies for windows-latest test build
# - install optional dependencies for windows-latest and macos-latest
name: Multi-Platform Build Tests
@@ -25,33 +25,27 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, ubuntu-22.04, windows-latest]
build_type: [Release]
c_compiler: [gcc, clang, cl]
include:
- os: ubuntu-latest
build_type: Release
c_compiler: gcc
cpp_compiler: g++
- os: ubuntu-latest
build_type: Release
c_compiler: clang
cpp_compiler: clang++
- os: ubuntu-22.04
build_type: Release
c_compiler: gcc
cpp_compiler: g++
- os: windows-latest
build_type: Release
c_compiler: cl
cpp_compiler: cl
exclude:
- os: ubuntu-latest
c_compiler: cl
- os: ubuntu-22.04
c_compiler: clang
- os: ubuntu-22.04
c_compiler: cl
- os: windows-latest
c_compiler: gcc
- os: windows-latest
- os: macos-latest
build_type: Release
c_compiler: clang
cpp_compiler: clang++
steps:
- name: Checkout
@@ -61,8 +55,8 @@ jobs:
fetch-depth: 0
- name: Install optional dependencies (Ubuntu)
shell: bash
if: startsWith( matrix.os, 'ubuntu-' )
shell: bash
run: |
# install packages
sudo apt-get update
@@ -75,6 +69,18 @@ jobs:
# trying to build qzint
wget https://downloads.sourceforge.net/project/zint/zint/2.6.5/zint-2.6.5.tar.gz && tar xzf zint-2.6.5.tar.gz && ( cd zint-2.6.5 && mkdir build && cd build && cmake .. && make && sudo make install )
- name: Install optional dependencies (Windows)
if: startsWith( matrix.os, 'windows-' )
shell: bash
run: |
# install packages
- name: Install optional dependencies (MacOS)
if: startsWith( matrix.os, 'macos-' )
shell: bash
run: |
# install packages
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
@@ -108,3 +114,8 @@ jobs:
if: startsWith( matrix.os, 'windows-' )
working-directory: ${{ steps.strings.outputs.build-output-dir }}
run: ctest --build-config ${{ matrix.build_type }}
- name: Test (MacOS)
if: startsWith( matrix.os, 'macos-' )
working-directory: ${{ steps.strings.outputs.build-output-dir }}
run: ctest --build-config ${{ matrix.build_type }}
+1 -1
View File
@@ -70,7 +70,7 @@ set(VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}-${BRANCH}$
set(LONG_VERSION_STRING "${VERSION_STRING} (${COMMIT_HASH} ${COMMIT_DATE})")
# Auto-generate version file
configure_file (.version.in VERSION @ONLY)
configure_file (VERSION.txt.in VERSION.txt @ONLY)
#=======================================
+1 -2
View File
@@ -13,7 +13,7 @@ gLabels-qt is the development version of the next major version of gLabels (a.k.
## What's new in gLabels 4?
- A complete rewrite, based on the Qt5 framework.
- A complete rewrite, based on the Qt6 framework.
- A new UI layout based on common activities.
- Cross-platform support
- User-defined variables
@@ -88,4 +88,3 @@ restrictive licensing:
label database. No copyright is claimed on the facts contained within
the database and can be used for any purpose. The files themselves are
licensed using the MIT/X license. See [templates/LICENSE](templates/LICENSE).
View File