From 37a7c936844cc786af8ff81e7ff0521133b1ac04 Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Wed, 23 Oct 2024 09:10:43 +0300 Subject: [PATCH 1/5] actions: Drop Fedora 39 Fedora 39 drops is EOL from 12 Nov 2024. Signed-off-by: Priit Laes --- .github/workflows/build.yml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 109b3ed2e..a7428b705 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -77,18 +77,12 @@ jobs: container: fedora:${{ matrix.container }} strategy: matrix: - container: [39, 40, 41] + container: [40, 41] steps: - name: Install Deps run: | dnf install -y --setopt=install_weak_deps=False \ git gcc-c++ cmake rpm-build libxml2-devel xmlsec1-openssl-devel libtool-ltdl-devel zlib-devel doxygen boost-test swig python3-devel java-17-openjdk-devel minizip-devel - - name: Install CMake - if: matrix.container == 39 - run: | - dnf install -y --setopt=install_weak_deps=False wget - wget -q https://github.com/Kitware/CMake/releases/download/v3.28.1/cmake-3.28.1-linux-x86_64.sh - sh cmake-3.28.1-linux-x86_64.sh --skip-license --prefix=/usr/local - name: Checkout uses: actions/checkout@v4 - name: Build From 86b11d0ac95e25632d3b82f624eda08492f81a69 Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Wed, 23 Oct 2024 09:51:56 +0300 Subject: [PATCH 2/5] Sync list of required Fedora dependencies Additionally splits out list of required Fedora dependencies into separate variable in github actions. Fixes #637 Signed-off-by: Priit Laes --- .github/workflows/build.yml | 4 +++- README.md | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a7428b705..f664ef928 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,6 +5,8 @@ permissions: env: BUILD_NUMBER: ${{ github.run_number }} CMAKE_BUILD_PARALLEL_LEVEL: 4 + # Required dependencies (does not include packaging and optional dependencies) + FEDORA_DEPS: cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-devel zlib-devel xmlsec1-openssl-devel UBUNTU_DEPS: cmake libxml2-dev libxmlsec1-dev zlib1g-dev jobs: macos: @@ -82,7 +84,7 @@ jobs: - name: Install Deps run: | dnf install -y --setopt=install_weak_deps=False \ - git gcc-c++ cmake rpm-build libxml2-devel xmlsec1-openssl-devel libtool-ltdl-devel zlib-devel doxygen boost-test swig python3-devel java-17-openjdk-devel minizip-devel + ${FEDORA_DEPS} doxygen boost-test swig python3-devel java-17-openjdk-devel rpm-build git - name: Checkout uses: actions/checkout@v4 - name: Build diff --git a/README.md b/README.md index 74c0c80a3..a03c96f0f 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ # Ubuntu sudo apt install cmake libxml2-dev libxmlsec1-dev zlib1g-dev # Fedora - sudo dnf install cmake gcc-c++ openssl-devel libxml2-devel xmlsec1-openssl-devel libtool-ltdl-devel zlib-devel + sudo dnf install cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-devel openssl-devel zlib-devel xmlsec1-openssl-devel * doxygen - Optional, for API documentation * libboost-test-dev - Optional, for unittests From c561bdb207a6f544ec8da0fef747b31143e0e447 Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Fri, 8 Nov 2024 14:54:29 +0200 Subject: [PATCH 3/5] actions: Fedora: Add Rawhide Include Rawhide in the build matrix as well to spot upcoming issues, first one would be dropping support for OpenJDK 17 in favor of Adoptium managed Eclipse Temurin releases via separate repsitory: https://fedoraproject.org/wiki/Changes/ThirdPartyLegacyJdks Ideally this build should be gated as `allow-fail`, but unfortunately github actions does not support it yet. Signed-off-by: Priit Laes --- .github/workflows/build.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f664ef928..de58f223f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -79,12 +79,19 @@ jobs: container: fedora:${{ matrix.container }} strategy: matrix: - container: [40, 41] + container: [40, 41, rawhide] steps: - - name: Install Deps + - name: Install CMake + if: matrix.container != 'rawhide' run: | dnf install -y --setopt=install_weak_deps=False \ ${FEDORA_DEPS} doxygen boost-test swig python3-devel java-17-openjdk-devel rpm-build git + - name: Install Deps + ## Fedora 42 (currently) rawhide doesn't have Java 17 JDK? + if: matrix.container == 'rawhide' + run: | + dnf install -y --setopt=install_weak_deps=False \ + ${FEDORA_DEPS} doxygen boost-test swig python3-devel java-21-openjdk-devel rpm-build git - name: Checkout uses: actions/checkout@v4 - name: Build From 1cc7023a9ae17dfab66b08ab3329846171647ce8 Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Fri, 8 Nov 2024 22:06:57 +0200 Subject: [PATCH 4/5] actions: Fedora: Use Java 21 (LTS) Java 17 was already deprecated since Fedora 39, and is already dropped in upcoming Fedora 42 (current Rawhide). Signed-off-by: Priit Laes --- .github/workflows/build.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index de58f223f..00d52cb15 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,14 +81,7 @@ jobs: matrix: container: [40, 41, rawhide] steps: - - name: Install CMake - if: matrix.container != 'rawhide' - run: | - dnf install -y --setopt=install_weak_deps=False \ - ${FEDORA_DEPS} doxygen boost-test swig python3-devel java-17-openjdk-devel rpm-build git - name: Install Deps - ## Fedora 42 (currently) rawhide doesn't have Java 17 JDK? - if: matrix.container == 'rawhide' run: | dnf install -y --setopt=install_weak_deps=False \ ${FEDORA_DEPS} doxygen boost-test swig python3-devel java-21-openjdk-devel rpm-build git From 6e101b74c602b59e3007f9bf07a4f878e3866ef3 Mon Sep 17 00:00:00 2001 From: Priit Laes Date: Fri, 8 Nov 2024 22:17:00 +0200 Subject: [PATCH 5/5] actions: fedora: fix minizip dependency Apparently we need to use minizip-ng-compat library for MiniZip support Signed-off-by: Priit Laes --- .github/workflows/build.yml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00d52cb15..ed134f8e6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ env: BUILD_NUMBER: ${{ github.run_number }} CMAKE_BUILD_PARALLEL_LEVEL: 4 # Required dependencies (does not include packaging and optional dependencies) - FEDORA_DEPS: cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-devel zlib-devel xmlsec1-openssl-devel + FEDORA_DEPS: cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-compat-devel zlib-devel xmlsec1-openssl-devel UBUNTU_DEPS: cmake libxml2-dev libxmlsec1-dev zlib1g-dev jobs: macos: diff --git a/README.md b/README.md index a03c96f0f..f33445cb4 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ # Ubuntu sudo apt install cmake libxml2-dev libxmlsec1-dev zlib1g-dev # Fedora - sudo dnf install cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-devel openssl-devel zlib-devel xmlsec1-openssl-devel + sudo dnf install cmake gcc-c++ libtool-ltdl-devel libxml2-devel minizip-ng-compat-devel openssl-devel zlib-devel xmlsec1-openssl-devel * doxygen - Optional, for API documentation * libboost-test-dev - Optional, for unittests