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-latest - clang
# - ubuntu-24.04 - gcc (For backwards compatablity) # - ubuntu-24.04 - gcc (For backwards compatablity)
# - windows-latest - cl # - windows-latest - cl
# - macos-latest - clang
# #
# TODO: # TODO:
# - macos # - install optional dependencies for windows-latest and macos-latest
# - install optional dependencies for windows-latest test build
name: Multi-Platform Build Tests name: Multi-Platform Build Tests
@@ -25,33 +25,27 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-latest, ubuntu-22.04, windows-latest]
build_type: [Release]
c_compiler: [gcc, clang, cl]
include: include:
- os: ubuntu-latest - os: ubuntu-latest
build_type: Release
c_compiler: gcc c_compiler: gcc
cpp_compiler: g++ cpp_compiler: g++
- os: ubuntu-latest - os: ubuntu-latest
build_type: Release
c_compiler: clang c_compiler: clang
cpp_compiler: clang++ cpp_compiler: clang++
- os: ubuntu-22.04 - os: ubuntu-22.04
build_type: Release
c_compiler: gcc c_compiler: gcc
cpp_compiler: g++ cpp_compiler: g++
- os: windows-latest - os: windows-latest
build_type: Release
c_compiler: cl c_compiler: cl
cpp_compiler: cl cpp_compiler: cl
exclude: - os: macos-latest
- os: ubuntu-latest build_type: Release
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
c_compiler: clang c_compiler: clang
cpp_compiler: clang++
steps: steps:
- name: Checkout - name: Checkout
@@ -61,8 +55,8 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Install optional dependencies (Ubuntu) - name: Install optional dependencies (Ubuntu)
shell: bash
if: startsWith( matrix.os, 'ubuntu-' ) if: startsWith( matrix.os, 'ubuntu-' )
shell: bash
run: | run: |
# install packages # install packages
sudo apt-get update sudo apt-get update
@@ -75,6 +69,18 @@ jobs:
# trying to build qzint # 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 ) 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 - name: Install Qt
uses: jurplel/install-qt-action@v4 uses: jurplel/install-qt-action@v4
with: with:
@@ -108,3 +114,8 @@ jobs:
if: startsWith( matrix.os, 'windows-' ) if: startsWith( matrix.os, 'windows-' )
working-directory: ${{ steps.strings.outputs.build-output-dir }} working-directory: ${{ steps.strings.outputs.build-output-dir }}
run: ctest --build-config ${{ matrix.build_type }} 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})") set(LONG_VERSION_STRING "${VERSION_STRING} (${COMMIT_HASH} ${COMMIT_DATE})")
# Auto-generate version file # 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? ## 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. - A new UI layout based on common activities.
- Cross-platform support - Cross-platform support
- User-defined variables - User-defined variables
@@ -88,4 +88,3 @@ restrictive licensing:
label database. No copyright is claimed on the facts contained within label database. No copyright is claimed on the facts contained within
the database and can be used for any purpose. The files themselves are the database and can be used for any purpose. The files themselves are
licensed using the MIT/X license. See [templates/LICENSE](templates/LICENSE). licensed using the MIT/X license. See [templates/LICENSE](templates/LICENSE).
View File