diff --git a/.github/actions/add-kitware-repo/action.yml b/.github/actions/add-kitware-repo/action.yml new file mode 100644 index 000000000..39d63a44e --- /dev/null +++ b/.github/actions/add-kitware-repo/action.yml @@ -0,0 +1,32 @@ +# Add Kitware repo action +# SPDX-FileCopyrightText: 2024 Chris Rizzitello +# SPDX-License-Identifier: MIT + +name: "Add Kitware repo" +description: "Add kitware repo for debian like distros" + +inputs: + distro: + description: "The Distro codename, kitware uses ubuntu code names [noble, jammy, focal] " + required: true + +runs: + using: "composite" + + steps: + - name: Cmake-3.24 + run: | + apt update -y -qqq + apt install ca-certificates gpg wget -y -qqq + # Deskflow requires at least CMake 3.24 + # This mirrors instructions at https://apt.kitware.com + wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \ + | gpg --dearmor - \ + > /usr/share/keyrings/kitware-archive-keyring.gpg + echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ ${{ inputs.distro }} main' \ + > /etc/apt/sources.list.d/kitware.list + apt update -y -qqq + env: + # Prevent apt prompting for input. + DEBIAN_FRONTEND: noninteractive + shell: bash diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1660d82b1..d64553a0f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -317,8 +317,19 @@ jobs: git config --global --add safe.directory $GITHUB_WORKSPACE git fetch --tags --force + - name: Add Kitware repo + if: ${{ matrix.distro.name == 'ubuntu-22.04-amd64' }} + uses: ./.github/actions/add-kitware-repo + with: + distro: jammy + + - name: Update Cmake + if: ${{ matrix.distro.name == 'ubuntu-22.04-amd64' }} + run: apt install cmake -y + - name: Install dependencies - run: ./scripts/install_deps.py ${{ matrix.distro.extra-dep-args }} + run: | + ./scripts/install_deps.py env: # Prevent apt prompting for input. DEBIAN_FRONTEND: noninteractive diff --git a/.github/workflows/sonarcloud-analysis.yml b/.github/workflows/sonarcloud-analysis.yml index bbda746a9..46fc2a0c6 100644 --- a/.github/workflows/sonarcloud-analysis.yml +++ b/.github/workflows/sonarcloud-analysis.yml @@ -33,10 +33,15 @@ jobs: git config --global --add safe.directory $GITHUB_WORKSPACE git fetch --tags --force + - name: Add Kitware repo + uses: ./.github/actions/add-kitware-repo + with: + distro: jammy + - name: Install dependencies run: | - ./scripts/install_deps.py && - apt install curl unzip -y && + ./scripts/install_deps.py + apt install curl unzip cmake -y pip install gcovr env: # Prevent apt prompting for input. diff --git a/.github/workflows/valgrind-analysis.yml b/.github/workflows/valgrind-analysis.yml index 443531d08..98f8fe677 100644 --- a/.github/workflows/valgrind-analysis.yml +++ b/.github/workflows/valgrind-analysis.yml @@ -22,10 +22,15 @@ jobs: git config --global --add safe.directory $GITHUB_WORKSPACE git fetch --tags --force + - name: Add Kitware repo + uses: ./.github/actions/add-kitware-repo + with: + distro: jammy + - name: Install dependencies run: | - ./scripts/install_deps.py && - apt install valgrind -y + ./scripts/install_deps.py + apt install valgrind cmake -y env: # Prevent apt prompting for input. DEBIAN_FRONTEND: noninteractive diff --git a/CMakeLists.txt b/CMakeLists.txt index ecab2fb2d..7d5d6bc4d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ # > New in version 3.8: If the SOURCE_DATE_EPOCH environment variable is set, # > its value will be used instead of the current time. # > See https://reproducible-builds.org/specs/source-date-epoch/ for details. -cmake_minimum_required(VERSION 3.8) +cmake_minimum_required(VERSION 3.24) # Fallback for when git can not be found set(DESKFLOW_VERSION_MAJOR 1)