Skip to content

Updated package clean on ubuntu-26.04 in github actions. #755

Updated package clean on ubuntu-26.04 in github actions.

Updated package clean on ubuntu-26.04 in github actions. #755

Workflow file for this run

name: Github Actions Build
on:
push:
branches:
- '**'
tags-ignore:
- '**'
env:
COMMS_TAG: v5.5.2
CC_TOOLS_QT_TAG: v6.0.8
jobs:
build_gcc_ubuntu_24_04:
if: false
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
cc_ver: [9, 10, 11, 12]
cpp: [11, 14, 17, 20]
qt_ver: [5, 6]
steps:
- uses: actions/checkout@v4
- name: Prepare Install
run: sudo apt-get update --fix-missing
- name: List biggest packages
run: |
echo "Listing 100 largest packages"; \
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100; \
df -h
- name: Clean unused packages
run: |
sudo apt-get remove -y microsoft-edge-stable azure-cli '^google-cloud-cli.*' google-chrome-stable firefox powershell 'php.*' '^dotnet-.*' '^llvm-.*' '^clang-tools-.*'; \
sudo apt-get clean
- name: Install Packages
run: |
sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qtbase5-dev qt6-base-dev libxml2-dev doxygen gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} \
python3 libpython3-dev swig default-jdk default-jre emscripten nodejs \
texlive-base texlive-latex-base texlive-latex-recommended texlive-plain-generic tex4ht \
tshark
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Prepare externals
shell: bash
run: $GITHUB_WORKSPACE/script/prepare_externals.sh
env:
BUILD_DIR: ${{runner.workspace}}/build
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \
-DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \
-DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=${{env.BUILD_TEST_DOCS}} -DCMAKE_IGNORE_PATH=/usr/local/bin \
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON \
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON \
-DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} \
-DCOMMSDSL_BUILD_WITH_SANITIZERS=ON
env:
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
BUILD_TEST_DOCS: "${{ matrix.type == 'Debug' && matrix.cpp == 11 && matrix.cc_ver == 14 && matrix.qt_ver == 5 && 'ON' || 'OFF' }}"
TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}"
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
- name: Testing
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
build_gcc_ubuntu_26_04:
runs-on: ubuntu-26.04
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
cc_ver: [13, 14, 15]
cpp: [11, 14, 17, 20, 23]
qt_ver: [6]
exclude:
- cc_ver: 13
cpp: 23
steps:
- uses: actions/checkout@v4
- name: Prepare Install
run: sudo apt-get update --fix-missing
- name: List biggest packages
run: |
echo "Listing 100 largest packages"; \
dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n | tail -n 100; \
df -h
- name: Clean unused packages
run: |
sudo apt-get remove -y microsoft-edge-stable azure-cli google-chrome-stable firefox '^llvm-.*' '^gfortran-.*'; \
sudo apt-get clean
- name: Install Packages
run: |
sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qt6-base-dev libxml2-dev doxygen gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} \
python3 libpython3-dev swig default-jdk default-jre emscripten nodejs \
texlive-base texlive-latex-base texlive-latex-recommended texlive-plain-generic tex4ht \
tshark
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Prepare externals
shell: bash
run: $GITHUB_WORKSPACE/script/prepare_externals.sh
env:
BUILD_DIR: ${{runner.workspace}}/build
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \
-DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \
-DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCOMMSDSL_TEST_BUILD_DOC=${{env.BUILD_TEST_DOCS}} -DCMAKE_IGNORE_PATH=/usr/local/bin \
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON \
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON \
-DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} \
-DCOMMSDSL_BUILD_WITH_SANITIZERS=ON
env:
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
BUILD_TEST_DOCS: "${{ matrix.type == 'Debug' && matrix.cpp == 11 && matrix.cc_ver == 14 && matrix.qt_ver == 5 && 'ON' || 'OFF' }}"
TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}"
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
- name: Testing
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
build_gcc_no_sanitize_ubuntu_26_04:
if: false
runs-on: ubuntu-26.04
strategy:
fail-fast: false
matrix:
type: [Release]
cc_ver: [13, 14, 15]
cpp: [17, 20, 23]
exclude:
- cc_ver: 13
cpp: 23
steps:
- uses: actions/checkout@v4
- name: Prepare Install
run: sudo apt-get update --fix-missing
- name: Install Packages
run: |
sudo apt install libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}}
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install \
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON \
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON \
-DCOMMSDSL_BUILD_WITH_SANITIZERS=OFF -DCOMMSDSL_BUILD_UNIT_TESTS=OFF
env:
CC: gcc-${{matrix.cc_ver}}
CXX: g++-${{matrix.cc_ver}}
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
build_clang_ubuntu_24_04:
if: false
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
cc_ver: [14, 15, 16]
cpp: [11, 14, 17, 20]
qt_ver: [5, 6]
exclude:
- cc_ver: 14
cpp: 20
- cc_ver: 15
cpp: 20
steps:
- uses: actions/checkout@v4
- name: Prepare Install
run: sudo apt-get update --fix-missing
- name: Install Packages
run: |
sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qtbase5-dev qt6-base-dev libxml2-dev clang-${{matrix.cc_ver}} \
python3 libpython3-dev swig default-jdk default-jre emscripten nodejs tshark
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Prepare externals
shell: bash
run: $GITHUB_WORKSPACE/script/prepare_externals.sh
env:
BUILD_DIR: ${{runner.workspace}}/build
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \
-DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \
-DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCMAKE_IGNORE_PATH=/usr/local/bin \
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON \
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON \
-DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} \
-DCOMMSDSL_BUILD_WITH_SANITIZERS=ON
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}"
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
- name: Testing
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
build_clang_ubuntu_26_04:
if: false
runs-on: ubuntu-26.04
strategy:
fail-fast: false
matrix:
type: [Debug, Release, MinSizeRel]
cc_ver: [17, 18, 19, 20, 21, 22]
cpp: [11, 14, 17, 20, 23]
qt_ver: [6]
exclude:
- cc_ver: 17
cpp: 23
steps:
- uses: actions/checkout@v4
- name: Prepare Install
run: sudo apt-get update --fix-missing
- name: Install Packages
run: |
sudo apt install libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qt6-base-dev libxml2-dev clang-${{matrix.cc_ver}} \
python3 libpython3-dev swig default-jdk default-jre emscripten nodejs tshark
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Prepare externals
shell: bash
run: $GITHUB_WORKSPACE/script/prepare_externals.sh
env:
BUILD_DIR: ${{runner.workspace}}/build
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install -DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} \
-DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} \
-DCOMMSDSL_BUILD_UNIT_TESTS=ON -DCMAKE_IGNORE_PATH=/usr/local/bin \
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON \
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON \
-DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} \
-DCOMMSDSL_BUILD_WITH_SANITIZERS=ON
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}"
TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}"
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
- name: Testing
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
build_clang_no_sanitize_ubuntu_26_04:
if: false
runs-on: ubuntu-26.04
strategy:
fail-fast: false
matrix:
type: [Release]
cc_ver: [17, 18, 19, 20, 21, 22]
cpp: [17, 20, 23]
exclude:
- cc_ver: 17
cpp: 23
steps:
- uses: actions/checkout@v4
- name: Prepare Install
run: sudo apt-get update --fix-missing
- name: Install Packages
run: |
sudo apt install libxml2-dev clang-${{matrix.cc_ver}}
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
shell: bash
working-directory: ${{runner.workspace}}/build
run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install \
-DCMAKE_PREFIX_PATH=${{runner.workspace}}/build/install \
-DCMAKE_CXX_STANDARD=${{matrix.cpp}} \
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON \
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON \
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON \
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON \
-DCOMMSDSL_BUILD_WITH_SANITIZERS=OFF -DCOMMSDSL_BUILD_UNIT_TESTS=OFF
env:
CC: clang-${{matrix.cc_ver}}
CXX: clang++-${{matrix.cc_ver}}
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: bash
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
build_msvc_2022:
if: false
runs-on: windows-2022
strategy:
fail-fast: false
matrix:
type: [Debug, Release]
arch: [x64]
cpp: [11, 14, 17, 20]
qt_ver: [5, 6]
steps:
- uses: actions/checkout@v4
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Install Qt (sets QT_ROOT_DIR)
if: ${{matrix.cpp >= 17}}
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_ver == 5 && '5.15.*' || '6.8.*' }}
cache: true
- name: Prepare externals
shell: cmd
run: |
set QTDIR=%QT_ROOT_DIR%
%GITHUB_WORKSPACE%\script\prepare_externals.bat
env:
BUILD_DIR: ${{runner.workspace}}/build
PLATFORM: ${{matrix.arch}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
CC_TOOLS_QT_SKIP: "${{ matrix.cpp >= 17 && (matrix.qt_ver == 6 || matrix.cpp < 20) && '0' || '1' }}"
- name: Configure CMake
shell: cmd
working-directory: ${{runner.workspace}}/build
run: |
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QT_ROOT_DIR}}" ^
-DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} ^
-DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} ^
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON ^
-DCOMMSDSL_BUILD_UNIT_TESTS=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} ^
-DCOMMSDSL_BUILD_COMMSDSL2SWIG_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN_TESTS=OFF ^
-DCOMMSDSL_BUILD_COMMSDSL2LATEX_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK_TESTS=OFF
env:
TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}"
BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && (matrix.qt_ver == 6 || matrix.cpp < 20) && 'ON' || 'OFF' }}"
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: cmd
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
- name: Testing
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V
build_msvc_2026:
if: false
runs-on: windows-2025
strategy:
fail-fast: false
matrix:
type: [Debug, Release]
arch: [x64]
cpp: [11, 14, 17, 20, 23]
qt_ver: [5, 6]
steps:
- uses: actions/checkout@v4
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Install Qt (sets QT_ROOT_DIR)
if: ${{matrix.cpp >= 17}}
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_ver == 5 && '5.15.*' || '6.8.*' }}
cache: true
- name: Prepare externals
shell: cmd
run: |
set QTDIR=%QT_ROOT_DIR%
%GITHUB_WORKSPACE%\script\prepare_externals.bat
env:
BUILD_DIR: ${{runner.workspace}}/build
PLATFORM: ${{matrix.arch}}
EXTERNALS_DIR: ${{runner.workspace}}/externals
COMMON_INSTALL_DIR: ${{runner.workspace}}/build/install
COMMON_BUILD_TYPE: ${{matrix.type}}
COMMON_CXX_STANDARD: ${{matrix.cpp}}
COMMS_TAG: ${{env.COMMS_TAG}}
CC_TOOLS_QT_TAG: ${{env.CC_TOOLS_QT_TAG}}
CC_TOOLS_QT_MAJOR_QT_VERSION: ${{matrix.qt_ver}}
CC_TOOLS_QT_SKIP: "${{ matrix.cpp >= 17 && (matrix.qt_ver == 6 || matrix.cpp < 20) && '0' || '1' }}"
- name: Configure CMake
shell: cmd
working-directory: ${{runner.workspace}}/build
run: |
cmake %GITHUB_WORKSPACE% -A ${{matrix.arch}} -DCMAKE_BUILD_TYPE=${{matrix.type}} -DCMAKE_INSTALL_PREFIX=install ^
-DCMAKE_PREFIX_PATH="${{runner.workspace}}/build/install;${{env.QTDIR}}" ^
-DCOMMSDSL_TESTS_CXX_STANDARD=${{matrix.cpp}} -DCOMMSDSL_TESTS_QT_VERSION=${{matrix.qt_ver}} ^
-DCMAKE_CXX_STANDARD=${{env.TOOLS_CXX_STANDARD}} ^
-DCOMMSDSL_BUILD_COMMSDSL2TEST=ON -DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2SWIG=ON -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2LATEX=ON -DCOMMSDSL_BUILD_COMMSDSL2C=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK=ON ^
-DCOMMSDSL_BUILD_UNIT_TESTS=ON ^
-DCOMMSDSL_BUILD_COMMSDSL2TOOLS_QT_TESTS=${{env.BUILD_TOOLS_QT_UNIT_TESTS}} ^
-DCOMMSDSL_BUILD_COMMSDSL2SWIG_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2EMSCRIPTEN_TESTS=OFF ^
-DCOMMSDSL_BUILD_COMMSDSL2LATEX_TESTS=OFF -DCOMMSDSL_BUILD_COMMSDSL2WIRESHARK_TESTS=OFF
env:
TOOLS_CXX_STANDARD: "${{ matrix.cpp >= 17 && matrix.cpp || '17' }}"
BUILD_TOOLS_QT_UNIT_TESTS: "${{ matrix.cpp >= 17 && (matrix.qt_ver == 6 || matrix.cpp < 20) && 'ON' || 'OFF' }}"
- name: Build Target
working-directory: ${{runner.workspace}}/build
shell: cmd
run: cmake --build . --config ${{matrix.type}} --target install
env:
VERBOSE: 1
- name: Testing
working-directory: ${{runner.workspace}}/build
shell: bash
run: ctest -V