From ca26f56f3e2633f089cd524d9f175657ca22335a Mon Sep 17 00:00:00 2001 From: Alex Robenko Date: Tue, 17 Sep 2024 09:05:24 +1000 Subject: [PATCH] Added ubuntu-24.04 runner to github actions. --- .github/workflows/actions_build.yml | 132 ++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) diff --git a/.github/workflows/actions_build.yml b/.github/workflows/actions_build.yml index 047b66b..cf2b18c 100644 --- a/.github/workflows/actions_build.yml +++ b/.github/workflows/actions_build.yml @@ -197,6 +197,70 @@ jobs: run: cmake --build . --config ${{matrix.type}} --target install env: VERBOSE: 1 + + build_gcc_ubuntu_24_04: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + type: [Debug, Release, MinSizeRel] + cc_ver: [13, 14] + cpp: [11, 14, 17, 20, 23] + qt_ver: [5, 6] + 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 libqt${{matrix.qt_ver}}gui${{matrix.qt_ver}} qtbase5-dev qt6-base-dev libboost-all-dev libxml2-dev gcc-${{matrix.cc_ver}} g++-${{matrix.cc_ver}} \ + python3 libpython3-dev swig default-jdk default-jre emscripten + + - 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}} + COMMSDSL_TAG: ${{env.COMMSDSL_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 -DCMAKE_CXX_STANDARD=${{matrix.cpp}} \ + -DDEMO1_TOOLS_QT_VER=${{matrix.qt_ver}} \ + -DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_GEN_TOOLS=ON -DDEMO1_BUILD_TOOLS=${{env.BUILD_TOOLS}} \ + -DDEMO1_GEN_SWIG=ON -DDEMO1_GEN_EMSCRIPTEN=ON + env: + CC: gcc-${{matrix.cc_ver}} + CXX: g++-${{matrix.cc_ver}} + BUILD_TOOLS: "${{ matrix.cpp >= 17 && 'ON' || 'OFF' }}" + + - name: Build Target + working-directory: ${{runner.workspace}}/build + shell: bash + run: cmake --build . --config ${{matrix.type}} --target install + env: + VERBOSE: 1 build_clang_old_ubuntu_20_04: runs-on: ubuntu-20.04 @@ -389,6 +453,74 @@ jobs: env: VERBOSE: 1 + build_clang_ubuntu_24_04: + runs-on: ubuntu-24.04 + strategy: + fail-fast: false + matrix: + type: [Debug, Release, MinSizeRel] + cc_ver: [16, 17, 18] + cpp: [11, 14, 17, 20, 23] + qt_ver: [5, 6] + exclude: + - cc_ver: 16 + cpp: 23 + - 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}} qtbase5-dev qt6-base-dev libboost-all-dev libxml2-dev clang-${{matrix.cc_ver}} \ + python3 libpython3-dev swig default-jdk default-jre emscripten + + - 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}} + COMMSDSL_TAG: ${{env.COMMSDSL_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.cpp == 20 && matrix.cc_ver < 15)) && '1' || '0' }}" + + - 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}} \ + -DDEMO1_TOOLS_QT_VER=${{matrix.qt_ver}} \ + -DDEMO1_GEN_PROTOCOL=ON -DDEMO1_GEN_TEST=ON -DDEMO1_GEN_TOOLS=ON -DDEMO1_BUILD_TOOLS=${{env.BUILD_TOOLS}} \ + -DDEMO1_GEN_SWIG=ON -DDEMO1_GEN_EMSCRIPTEN=ON + env: + CC: clang-${{matrix.cc_ver}} + CXX: clang++-${{matrix.cc_ver}} + BUILD_TOOLS: "${{ (matrix.cpp < 17 || (matrix.cpp == 20 && matrix.cc_ver < 15)) && 'OFF' || 'ON' }}" + + - name: Build Target + working-directory: ${{runner.workspace}}/build + shell: bash + run: cmake --build . --config ${{matrix.type}} --target install + env: + VERBOSE: 1 + + build_msvc_2019: runs-on: windows-2019 strategy: