ci(cpan-libs): Add cpan libs tests #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test-perl-cpan-libraries | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
on: | |
workflow_dispatch: | |
pull_request: | |
paths: | |
- ".github/workflows/test-cpan-libraries.yml" | |
push: | |
branches: | |
- develop | |
- dev-[2-9][0-9].[0-9][0-9].x | |
- master | |
- "[2-9][0-9].[0-9][0-9].x" | |
paths: | |
- ".github/workflows/test-cpan-libraries.yml" | |
jobs: | |
get-environment: | |
uses: ./.github/workflows/get-environment.yml | |
package-rpm: | |
needs: [get-environment] | |
if: ${{ needs.get-environment.outputs.stability != 'stable' }} | |
runs-on: ubuntu-24.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
distrib: [el8, el9] | |
name: | |
[ | |
"ARGV::Struct", | |
"BSON", | |
"FFI::Platypus", | |
"ZMQ::FFI" | |
] | |
include: | |
- build_distribs: "el8,el9" | |
- rpm_dependencies: "" | |
- rpm_provides: "" | |
- version: "" | |
- spec_file: "" | |
- no-auto-depends: false | |
- distrib: el8 | |
package_extension: rpm | |
image: packaging-plugins-alma8 | |
- distrib: el9 | |
package_extension: rpm | |
image: packaging-plugins-alma9 | |
- name: "BSON" | |
rpm_provides: "perl(BSON::Bytes) perl(BSON::Code) perl(BSON::DBRef) perl(BSON::OID) perl(BSON::Raw) perl(BSON::Regex) perl(BSON::Time) perl(BSON::Timestamp) perl(BSON::Types) perl(BSON)" | |
- 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: "ZMQ::FFI" | |
rpm_dependencies: "zeromq" | |
name: package ${{ matrix.distrib }} ${{ matrix.name }} | |
container: | |
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest | |
credentials: | |
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }} | |
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }} | |
steps: | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
run: | | |
yum install -y yum-utils epel-release git | |
yum config-manager --set-enabled crb || true # alma 9 | |
yum config-manager --set-enabled powertools || true # alma 8 | |
yum install -y cpanminus rpm-build libcurl-devel libssh-devel expat-devel gcc libuuid-devel zeromq-devel libxml2-devel libffi-devel perl-DBI perl-Net-Pcap freetds freetds-devel perl-Module-Build-Tiny | |
dnf module reset -y ruby | |
dnf module enable -y ruby:3.1 | |
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 | |
PACKAGE_VERSION="" | |
else | |
PACKAGE_VERSION=" -v ${{ matrix.version }}" | |
fi | |
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"" | |
done | |
fi | |
if [ ! -z "${{ matrix.no-auto-depends }}" ]; then | |
PACKAGE_DEPENDENCIES="$PACKAGE_DEPENDENCIES --no-auto-depends" | |
fi | |
if [ -z "${{ matrix.rpm_provides }}" ]; then | |
PACKAGE_PROVIDES="" | |
else | |
for PACKAGE_PROVIDE in `echo "${{ matrix.rpm_provides }}"`; do | |
PACKAGE_PROVIDES="$PACKAGE_PROVIDES --provides $PACKAGE_PROVIDE" | |
done | |
fi | |
cpanm Module::Build::Tiny | |
cpanm Module::Install | |
export SYBASE="/usr" | |
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 | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.spec_file != '' }} | |
run: | | |
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} | |
rpmbuild --undefine=_disable_source_fetch -ba ${{ matrix.spec_file }} | |
cp -r ~/rpmbuild/RPMS/noarch/*.rpm . | |
shell: bash | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
name: Replace '::' with - in the feature path | |
id: package-name | |
run: | | |
name="${{ matrix.name }}" | |
name_with_dash="${name//::/-}" | |
echo "Modified Name: $name_with_dash" | |
echo "name_with_dash=$name_with_dash" >> $GITHUB_OUTPUT | |
shell: bash | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
name: packages-${{ matrix.package_extension }}-${{ matrix.distrib }}-${{ steps.package-name.outputs.name_with_dash }} | |
path: ./*.${{ matrix.package_extension }} | |
retention-days: 1 | |
merge-package-rpm-artifacts: | |
needs: [package-rpm] | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
distrib: [el8, el9] | |
steps: | |
- name: Merge Artifacts | |
uses: actions/upload-artifact/merge@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
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@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 | |
with: | |
name: packages-rpm-${{ matrix.distrib }}-* | |
failOnError: false | |
sign-rpm: | |
needs: [merge-package-rpm-artifacts] | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
distrib: [el8, el9] | |
name: sign rpm ${{ matrix.distrib }} | |
container: | |
image: docker.centreon.com/centreon-private/rpm-signing:latest | |
options: -t | |
credentials: | |
username: ${{ secrets.HARBOR_RPM_GPG_SIGNING_REPO_USERNAME }} | |
password: ${{ secrets.HARBOR_RPM_GPG_SIGNING_REPO_TOKEN }} | |
steps: | |
- run: apt-get install -y zstd | |
shell: bash | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: packages-rpm-${{ matrix.distrib }} | |
path: ./ | |
- run: echo "HOME=/root" >> $GITHUB_ENV | |
shell: bash | |
- run: rpmsign --addsign ./*.rpm | |
shell: bash | |
- uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
path: ./*.rpm | |
key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }} | |
package-deb: | |
needs: [get-environment] | |
if: ${{ needs.get-environment.outputs.stability != 'stable' }} | |
runs-on: ${{ matrix.runner_name }} | |
strategy: | |
fail-fast: false | |
matrix: | |
image: [packaging-plugins-bullseye, packaging-plugins-bookworm, packaging-plugins-jammy, packaging-plugins-bullseye-arm64] | |
name: | |
[ | |
"ARGV::Struct", | |
"Net::MQTT::Simple", | |
"ZMQ::LibZMQ4" | |
] | |
include: | |
- runner_name: ubuntu-24.04 | |
- arch: amd64 | |
- build_distribs: "bullseye,bookworm,jammy" | |
- deb_dependencies: "" | |
- rpm_provides: "" | |
- version: "" | |
- use_dh_make_perl: "true" | |
- spec_file: "" | |
- no-auto-depends: false | |
- distrib: bullseye | |
package_extension: deb | |
image: packaging-plugins-bullseye | |
- distrib: bookworm | |
package_extension: deb | |
image: packaging-plugins-bookworm | |
- distrib: jammy | |
package_extension: deb | |
image: packaging-plugins-jammy | |
- distrib: bullseye | |
package_extension: deb | |
image: packaging-plugins-bullseye-arm64 | |
arch: arm64 | |
runner_name: ["self-hosted", "collect-arm64"] | |
- name: "Net::MQTT::Simple" | |
version: "1.29" | |
- name: "ZMQ::LibZMQ4" | |
use_dh_make_perl: "false" | |
version: "0.01" | |
deb_dependencies: "libzmq5" | |
name: package ${{ matrix.distrib }} ${{ matrix.arch }} ${{ matrix.name }} | |
container: | |
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest | |
credentials: | |
username: ${{ secrets.HARBOR_CENTREON_PULL_USERNAME }} | |
password: ${{ secrets.HARBOR_CENTREON_PULL_TOKEN }} | |
steps: | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
name: Parse distrib name | |
id: parse-distrib | |
uses: ./.github/actions/parse-distrib | |
with: | |
distrib: ${{ matrix.distrib }} | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
name: Get package version | |
id: package-version | |
run: | | |
apt-get update | |
apt-get install -y cpanminus | |
if [ -z "${{ matrix.version }}" ]; then | |
CPAN_PACKAGE_VERSION=$(cpanm --info ${{ matrix.name }} | sed 's/\.tar\.gz$//' | sed 's/.*\-//' | sed 's/v//') | |
if [[ ! $CPAN_PACKAGE_VERSION =~ ^[0-9]+\.[0-9]+ ]]; then | |
echo "::error::Invalid version number: ${CPAN_PACKAGE_VERSION}" | |
exit 1 | |
fi | |
PACKAGE_VERSION="${CPAN_PACKAGE_VERSION}" | |
else | |
PACKAGE_VERSION="${{ matrix.version }}" | |
fi | |
echo "package_version=$(echo $PACKAGE_VERSION)" >> $GITHUB_OUTPUT | |
shell: bash | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.use_dh_make_perl == 'false' }} | |
run: | | |
apt-get install -y ruby libcurl4-openssl-dev libssh-dev uuid-dev libczmq-dev | |
if [ -z "${{ matrix.deb_dependencies }}" ]; then | |
PACKAGE_DEPENDENCIES="" | |
else | |
for PACKAGE_DEPENDENCY in `echo ${{ matrix.deb_dependencies }}`; do | |
PACKAGE_DEPENDENCIES="$PACKAGE_DEPENDENCIES --depends $PACKAGE_DEPENDENCY" | |
done | |
fi | |
if [ ! -z "${{ matrix.no-auto-depends }}" ]; then | |
PACKAGE_DEPENDENCIES="$PACKAGE_DEPENDENCIES --no-auto-depends" | |
fi | |
cpanm Module::Build::Tiny | |
cpanm Module::Install | |
gem install fpm | |
# Patch to apply fpm fix for debian package generation while waiting for the official fix to be released. | |
patch -i .github/patch/fpm-deb.rb.diff $(find / -type f -name "deb.rb") | |
fpm -a native -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --iteration ${{ steps.parse-distrib.outputs.package_distrib_name }} --verbose --cpan-verbose --no-cpan-test$PACKAGE_DEPENDENCIES -v ${{ steps.package-version.outputs.package_version }} ${{ matrix.name }} | |
shell: bash | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.use_dh_make_perl == 'true' }} | |
run: | | |
apt-get install -y libcurl4-openssl-dev dh-make-perl libssh-dev uuid-dev libczmq-dev libmodule-install-perl libmodule-build-tiny-perl | |
# module-build-tiny is required for Mojo::IOLoop::Signal build. | |
DEB_BUILD_OPTIONS="nocheck nodocs notest" dh-make-perl make --dist ${{ matrix.distrib }} --build --version ${{ steps.package-version.outputs.package_version }}${{ steps.parse-distrib.outputs.package_distrib_separator }}${{ steps.parse-distrib.outputs.package_distrib_name }} --cpan ${{ matrix.name }} | |
shell: bash | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
name: Replace '::' with - in the feature path | |
id: package-name | |
run: | | |
name="${{ matrix.name }}" | |
name_with_dash="${name//::/-}" | |
echo "Modified Name: $name_with_dash" | |
echo "name_with_dash=$name_with_dash" >> $GITHUB_OUTPUT | |
shell: bash | |
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }} | |
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
name: packages-${{ matrix.package_extension }}-${{ matrix.distrib }}-${{ matrix.arch }}-${{ steps.package-name.outputs.name_with_dash}} | |
path: ./*.${{ matrix.package_extension }} | |
retention-days: 1 | |
merge-package-deb-artifacts: | |
needs: [package-deb] | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
distrib: [bullseye, bookworm, jammy] | |
steps: | |
- name: Merge Artifacts | |
uses: actions/upload-artifact/merge@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
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@f275313e70c08f6120db482d7a6b98377786765b # v5.1.0 | |
with: | |
name: packages-deb-${{ matrix.distrib }}-* | |
failOnError: false | |
download-and-cache-deb: | |
needs: [merge-package-deb-artifacts] | |
runs-on: ubuntu-24.04 | |
strategy: | |
matrix: | |
distrib: [bullseye, bookworm, jammy] | |
steps: | |
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: packages-deb-${{ matrix.distrib }} | |
path: ./ | |
- uses: actions/cache/save@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 | |
with: | |
path: ./*.deb | |
key: ${{ github.sha }}-${{ github.run_id }}-deb-${{ matrix.distrib }} | |
test-packages: | |
needs: [get-environment, sign-rpm, download-and-cache-deb] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- package_extension: rpm | |
image: almalinux:8 | |
distrib: el8 | |
arch: amd64 | |
runner_name: ubuntu-24.04 | |
- package_extension: rpm | |
image: almalinux:9 | |
distrib: el9 | |
arch: amd64 | |
runner_name: ubuntu-24.04 | |
- package_extension: deb | |
image: debian:bullseye | |
distrib: bullseye | |
arch: amd64 | |
runner_name: ubuntu-24.04 | |
- package_extension: deb | |
image: debian:bookworm | |
distrib: bookworm | |
arch: amd64 | |
runner_name: ubuntu-24.04 | |
- package_extension: deb | |
image: ubuntu:jammy | |
distrib: jammy | |
arch: amd64 | |
runner_name: ubuntu-24.04 | |
- package_extension: deb | |
image: arm64v8/debian:bullseye | |
distrib: bullseye | |
arch: arm64 | |
runner_name: ["self-hosted", "collect-arm64"] | |
runs-on: ${{ matrix.runner_name }} | |
container: | |
image: ${{ matrix.image }} | |
name: Test perl CPAN libs packages on ${{ matrix.package_extension }} ${{ matrix.distrib }} ${{ matrix.arch }} | |
steps: | |
- name: Install zstd, perl and Centreon repositories | |
run: | | |
if [ "${{ matrix.package_extension }}" == "rpm" ]; then | |
dnf install -y zstd perl epel-release 'dnf-command(config-manager)' | |
dnf config-manager --set-enabled powertools || true # alma 8 | |
dnf config-manager --set-enabled crb || true # alma 9 | |
# Add Centreon plugins repositories | |
echo -e '[centreon-plugins-stable]\nname=centreon plugins stable x86_64\nbaseurl=https://packages.centreon.com/rpm-plugins/${{ matrix.distrib }}/stable/x86_64\nenabled=1\ngpgcheck=1\ngpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES\n[centreon-plugins-stable-noarch]\nname=centreon plugins stable noarch\nbaseurl=https://packages.centreon.com/rpm-plugins/${{ matrix.distrib }}/stable/noarch\nenabled=1\ngpgcheck=1\ngpgkey=https://yum-gpg.centreon.com/RPM-GPG-KEY-CES\n' >> /etc/yum.repos.d/centreon-plugins.repo | |
else | |
export DEBIAN_FRONTEND=noninteractive | |
apt-get update | |
apt-get install -y zstd perl wget gpg apt-utils | |
# Add Centreon plugins repositories | |
if [ "${{ matrix.distrib }}" == "jammy" ]; then | |
echo "deb https://packages.centreon.com/ubuntu-plugins-stable/ ${{ matrix.distrib }} main" | tee /etc/apt/sources.list.d/centreon-plugins.list | |
else | |
echo "deb https://packages.centreon.com/apt-plugins-stable/ ${{ matrix.distrib }} main" | tee /etc/apt/sources.list.d/centreon-plugins.list | |
fi | |
wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 | |
apt-get update | |
fi | |
shell: bash | |
- name: Restore packages from cache | |
uses: actions/cache/restore@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 | |
with: | |
path: ./*.${{ matrix.package_extension }} | |
key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }} | |
fail-on-cache-miss: true | |
- if: ${{ matrix.package_extension == 'rpm' }} | |
name: Install packages | |
run: | | |
error_log="install_error_${{ matrix.distrib }}_${{ matrix.arch }}.log" | |
for package in ./*.rpm; do | |
# List dependencies | |
dependencies=$(rpm -qpR $package) | |
for dependency in $dependencies; do | |
# If the dependency has been built in the same workflow, install it | |
if [ -f $dependency*.rpm ]; then | |
error_output=$(dnf install -y $dependency*.rpm 2>&1) || { echo "$error_output" >> $error_log; echo "Error during installation of $dependency" >> $error_log; true; } | |
fi | |
done | |
# Install package | |
error_output=$(dnf install -y $package 2>&1) || { echo "$error_output" >> $error_log; echo "Error during installation of $package" >> $error_log; true; } | |
# Uninstall package with all his dependencies | |
dnf autoremove -y $(echo $package | sed 's/_[0-9].*\.rpm//' | sed 's/.\///') 2>> $error_log || true | |
done | |
# Si le fichier error_log existe et n'est pas vide, le workflow est en erreur | |
if [ -s $error_log ]; then | |
cat $error_log | |
exit 1 | |
fi | |
shell: bash | |
- if: ${{ matrix.package_extension == 'deb' }} | |
name: Install packages | |
run: | | |
error_log="install_error_${{ matrix.distrib }}_${{ matrix.arch }}.log" | |
for package in ./*.deb; do | |
# List dependencies | |
dependencies=$(dpkg-deb -I $package | grep Depends | sed 's/Depends: //') | |
for dependency in $dependencies; do | |
# If the dependency has been built in the same workflow, install it | |
if [ -f $dependency*.deb ]; then | |
error_output=$(apt-get install -y $dependency*.deb 2>&1) || { echo "$error_output" >> $error_log; echo "Error during installation of $dependency" >> $error_log; true; } | |
fi | |
done | |
# Install package | |
error_output=$(apt-get install -y $package 2>&1) || { echo "$error_output" >> $error_log; echo "Error during installation of $package" >> $error_log; true; } | |
# Uninstall package with all his dependencies | |
# Package name is the name of the file less the version and the .deb extension, and without the "./" at the beginning | |
apt-get autoremove -y --purge $(echo $package | sed 's/_[0-9].*\.deb//' | sed 's/.\///') 2>> $error_log || true | |
done | |
# Si le fichier error_log existe et n'est pas vide, le workflow est en erreur | |
if [ -s $error_log ]; then | |
cat $error_log | |
exit 1 | |
fi | |
shell: bash | |
- name: Upload error log | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: install_error_log_${{ matrix.distrib }}-${{ matrix.arch }} | |
path: install_error_${{ matrix.distrib }}_${{ matrix.arch }}.log | |
deliver-packages: | |
needs: [get-environment, sign-rpm, download-and-cache-deb, test-packages] | |
if: | | |
(contains(fromJson('["testing", "unstable"]'), needs.get-environment.outputs.stability) || ( needs.get-environment.outputs.stability == 'stable' && github.event_name != 'workflow_dispatch')) && | |
! cancelled() && | |
! contains(needs.*.result, 'failure') && | |
! contains(needs.*.result, 'cancelled') | |
runs-on: ubuntu-24.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- distrib: el8 | |
package_extension: rpm | |
- distrib: el9 | |
package_extension: rpm | |
- distrib: bullseye | |
package_extension: deb | |
- distrib: bookworm | |
package_extension: deb | |
- distrib: jammy | |
package_extension: deb | |
name: deliver ${{ matrix.distrib }} | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 | |
- name: Delivery | |
uses: ./.github/actions/package-delivery | |
with: | |
module_name: perl-cpan-libraries | |
distrib: ${{ matrix.distrib }} | |
cache_key: ${{ github.sha }}-${{ github.run_id }}-${{ matrix.package_extension }}-${{ matrix.distrib }} | |
stability: ${{ needs.get-environment.outputs.stability }} | |
release_type: ${{ needs.get-environment.outputs.release_type }} | |
artifactory_token: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }} |