From eacf4de345eeb3f516c85dd6dc7845877aa9fd6a Mon Sep 17 00:00:00 2001 From: Kevin Duret Date: Fri, 6 Sep 2024 14:24:51 +0200 Subject: [PATCH] fix(ci): replace rpm perl dependency by perl-interpreter (#5169) --- .github/workflows/perl-cpan-libraries.yml | 76 +++++++++++++++-------- 1 file changed, 51 insertions(+), 25 deletions(-) diff --git a/.github/workflows/perl-cpan-libraries.yml b/.github/workflows/perl-cpan-libraries.yml index a4b58c675..2630a4aca 100644 --- a/.github/workflows/perl-cpan-libraries.yml +++ b/.github/workflows/perl-cpan-libraries.yml @@ -26,7 +26,7 @@ jobs: needs: [get-environment] if: ${{ needs.get-environment.outputs.stability != 'stable' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: @@ -132,6 +132,8 @@ jobs: rpm_provides: "perl(Exporter::Shiny) perl(Exporter::Tiny)" - name: "FFI::Platypus" rpm_provides: "perl(FFI::Platypus::Buffer) perl(FFI::Platypus::Memory)" + rpm_dependencies: "perl(Capture::Tiny) perl(FFI::CheckLib) perl(File::Spec::Functions) perl(IPC::Cmd) perl(JSON::PP) perl(List::Util) perl(autodie) perl(constant) perl(parent)" + no-auto-depends: true - name: "Net::DHCP" rpm_provides: "perl(Net::DHCP::Constants) perl(Net::DHCP::Packet)" - name: "Statistics::Regression" @@ -176,6 +178,23 @@ jobs: dnf install -y ruby ruby-devel shell: bash + - if: ${{ contains(matrix.build_distribs, matrix.distrib) }} + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + repository: kduret/fpm + ref: fix-rpm-perl-dependency-name-unchanged + path: fpm + + - if: ${{ contains(matrix.build_distribs, matrix.distrib) }} + name: Build and install fpm # waiting https://github.com/jordansissel/fpm/pull/2066 + run: | + dnf install -y bsdtar + cd fpm + gem install bundler + bundle install + make install + shell: bash + - if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.spec_file == '' }} run: | if [ -z "${{ matrix.version }}" ]; then @@ -187,8 +206,8 @@ jobs: if [ -z "${{ matrix.rpm_dependencies }}" ]; then PACKAGE_DEPENDENCIES="" else - for PACKAGE_DEPENDENCY in `echo ${{ matrix.rpm_dependencies }}`; do - PACKAGE_DEPENDENCIES="$PACKAGE_DEPENDENCIES --depends $PACKAGE_DEPENDENCY" + for PACKAGE_DEPENDENCY in `echo "${{ matrix.rpm_dependencies }}"`; do + PACKAGE_DEPENDENCIES="$PACKAGE_DEPENDENCIES --depends "$PACKAGE_DEPENDENCY"" done fi @@ -209,7 +228,6 @@ jobs: export SYBASE="/usr" - gem install fpm fpm -s cpan -t ${{ matrix.package_extension }} --rpm-dist ${{ matrix.distrib }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES$PACKAGE_PROVIDES$PACKAGE_VERSION ${{ matrix.name }} shell: bash @@ -241,26 +259,30 @@ jobs: merge-package-rpm-artifacts: needs: [package-rpm] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: distrib: [el8, el9] steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - name: Merging Artifacts - uses: ./.github/actions/merge-artifacts + - name: Merge Artifacts + uses: actions/upload-artifact/merge@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: - target_name: packages-rpm-${{ matrix.distrib }} - source_paths: packages-rpm-${{ matrix.distrib }}/*.rpm - source_name_pattern: packages-rpm-${{ matrix.distrib }}- - github_token: ${{ secrets.GITHUB_TOKEN }} + name: packages-rpm-${{ matrix.distrib }} + pattern: packages-rpm-${{ matrix.distrib }}-* + delete-merged: false # cannot be set to true due to random fails: Failed to DeleteArtifact: Unable to make request: ECONNRESET + retention-days: 1 + + - name: Delete merged artifacts + uses: geekyeggo/delete-artifact@24928e75e6e6590170563b8ddae9fac674508aa1 # v5.0.0 + with: + name: packages-rpm-${{ matrix.distrib }}-* + failOnError: false sign-rpm: needs: [merge-package-rpm-artifacts] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: distrib: [el8, el9] @@ -352,7 +374,7 @@ jobs: "ZMQ::LibZMQ4" ] include: - - runner_name: ubuntu-22.04 + - runner_name: ubuntu-24.04 - arch: amd64 - build_distribs: "bullseye,bookworm,jammy" - deb_dependencies: "" @@ -471,25 +493,29 @@ jobs: merge-package-deb-artifacts: needs: [package-deb] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: distrib: [bullseye, bookworm, jammy] steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - name: Merging Artifacts - uses: ./.github/actions/merge-artifacts + - name: Merge Artifacts + uses: actions/upload-artifact/merge@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: - target_name: packages-deb-${{ matrix.distrib }} - source_paths: packages-deb-${{ matrix.distrib }}/*.deb - source_name_pattern: packages-deb-${{ matrix.distrib }}- - github_token: ${{ secrets.GITHUB_TOKEN }} + name: packages-deb-${{ matrix.distrib }} + pattern: packages-deb-${{ matrix.distrib }}-* + delete-merged: false # cannot be set to true due to random fails: Failed to DeleteArtifact: Unable to make request: ECONNRESET + retention-days: 1 + + - name: Delete merged artifacts + uses: geekyeggo/delete-artifact@24928e75e6e6590170563b8ddae9fac674508aa1 # v5.0.0 + with: + name: packages-deb-${{ matrix.distrib }}-* + failOnError: false download-and-cache-deb: needs: [merge-package-deb-artifacts] - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 strategy: matrix: distrib: [bullseye, bookworm, jammy]