scinded rpm and deb packaging to tackle 256 github build processes limit
This commit is contained in:
parent
20a56068b0
commit
d108b4e56e
|
@ -22,7 +22,7 @@ jobs:
|
||||||
get-environment:
|
get-environment:
|
||||||
uses: ./.github/workflows/get-environment.yml
|
uses: ./.github/workflows/get-environment.yml
|
||||||
|
|
||||||
package:
|
package-rpm:
|
||||||
needs: [get-environment]
|
needs: [get-environment]
|
||||||
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
distrib: [el8, el9, bullseye, bookworm, jammy]
|
distrib: [el8, el9]
|
||||||
name:
|
name:
|
||||||
[
|
[
|
||||||
"Authen::SASL::SASLprep",
|
"Authen::SASL::SASLprep",
|
||||||
|
@ -98,9 +98,8 @@ jobs:
|
||||||
"ZMQ::LibZMQ4"
|
"ZMQ::LibZMQ4"
|
||||||
]
|
]
|
||||||
include:
|
include:
|
||||||
- build_distribs: "el8,el9,bullseye,bookworm,jammy"
|
- build_distribs: "el8,el9"
|
||||||
- rpm_dependencies: ""
|
- rpm_dependencies: ""
|
||||||
- deb_dependencies: ""
|
|
||||||
- rpm_provides: ""
|
- rpm_provides: ""
|
||||||
- version: ""
|
- version: ""
|
||||||
- use_dh_make_perl: "true"
|
- use_dh_make_perl: "true"
|
||||||
|
@ -111,15 +110,6 @@ jobs:
|
||||||
- distrib: el9
|
- distrib: el9
|
||||||
package_extension: rpm
|
package_extension: rpm
|
||||||
image: packaging-plugins-alma9
|
image: packaging-plugins-alma9
|
||||||
- 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
|
|
||||||
- name: "BSON"
|
- name: "BSON"
|
||||||
build_distribs: "el8,el9"
|
build_distribs: "el8,el9"
|
||||||
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)"
|
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)"
|
||||||
|
@ -151,7 +141,7 @@ jobs:
|
||||||
build_distribs: "el8,el9"
|
build_distribs: "el8,el9"
|
||||||
version: "0.31"
|
version: "0.31"
|
||||||
- name: "ZMQ::Constants"
|
- name: "ZMQ::Constants"
|
||||||
build_distribs: "el9,bullseye,bookworm,jammy"
|
build_distribs: "el9"
|
||||||
- name: "ZMQ::FFI"
|
- name: "ZMQ::FFI"
|
||||||
build_distribs: "el8,el9"
|
build_distribs: "el8,el9"
|
||||||
rpm_dependencies: "zeromq"
|
rpm_dependencies: "zeromq"
|
||||||
|
@ -159,7 +149,6 @@ jobs:
|
||||||
use_dh_make_perl: "false"
|
use_dh_make_perl: "false"
|
||||||
version: "0.01"
|
version: "0.01"
|
||||||
rpm_dependencies: "zeromq"
|
rpm_dependencies: "zeromq"
|
||||||
deb_dependencies: "libzmq5"
|
|
||||||
name: package ${{ matrix.distrib }} ${{ matrix.name }}
|
name: package ${{ matrix.distrib }} ${{ matrix.name }}
|
||||||
container:
|
container:
|
||||||
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
|
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
|
||||||
|
@ -170,7 +159,7 @@ jobs:
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.package_extension == 'rpm' }}
|
- if: ${{ contains(matrix.build_distribs, matrix.distrib) }}
|
||||||
run: |
|
run: |
|
||||||
yum install -y yum-utils epel-release git
|
yum install -y yum-utils epel-release git
|
||||||
yum config-manager --set-enabled crb || true # alma 9
|
yum config-manager --set-enabled crb || true # alma 9
|
||||||
|
@ -178,7 +167,7 @@ jobs:
|
||||||
yum install -y cpanminus rpm-build libcurl-devel libssh-devel expat-devel gcc ruby libuuid-devel zeromq-devel libxml2-devel libffi-devel perl-DBI perl-Net-Pcap freetds freetds-devel
|
yum install -y cpanminus rpm-build libcurl-devel libssh-devel expat-devel gcc ruby libuuid-devel zeromq-devel libxml2-devel libffi-devel perl-DBI perl-Net-Pcap freetds freetds-devel
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.package_extension == 'rpm' && matrix.spec_file == '' }}
|
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.spec_file == '' }}
|
||||||
run: |
|
run: |
|
||||||
if [ -z "${{ matrix.version }}" ]; then
|
if [ -z "${{ matrix.version }}" ]; then
|
||||||
PACKAGE_VERSION=""
|
PACKAGE_VERSION=""
|
||||||
|
@ -211,7 +200,7 @@ jobs:
|
||||||
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 }}
|
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
|
shell: bash
|
||||||
|
|
||||||
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.package_extension == 'rpm' && matrix.spec_file != '' }}
|
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.spec_file != '' }}
|
||||||
run: |
|
run: |
|
||||||
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||||
|
|
||||||
|
@ -220,7 +209,106 @@ jobs:
|
||||||
cp -r ~/rpmbuild/RPMS/noarch/*.rpm .
|
cp -r ~/rpmbuild/RPMS/noarch/*.rpm .
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.package_extension == 'deb' && matrix.use_dh_make_perl == 'false' }}
|
package-deb:
|
||||||
|
needs: [get-environment]
|
||||||
|
if: ${{ needs.get-environment.outputs.stability != 'stable' }}
|
||||||
|
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
distrib: [bullseye, bookworm, jammy]
|
||||||
|
name:
|
||||||
|
[
|
||||||
|
"Authen::SASL::SASLprep",
|
||||||
|
"Authen::SCRAM::Client",
|
||||||
|
"boolean",
|
||||||
|
"Carp::Assert",
|
||||||
|
"Clone",
|
||||||
|
"Clone::Choose",
|
||||||
|
"common::sense",
|
||||||
|
"Convert::EBCDIC",
|
||||||
|
"Crypt::Blowfish_PP",
|
||||||
|
"DateTime::Format::Duration::ISO8601",
|
||||||
|
"Device::Modbus",
|
||||||
|
"Digest::MD5::File",
|
||||||
|
"Digest::SHA1",
|
||||||
|
"Email::Send::SMTP::Gmail",
|
||||||
|
"FFI::CheckLib",
|
||||||
|
"File::SearchPath",
|
||||||
|
"Hash::Merge",
|
||||||
|
"Hash::Ordered",
|
||||||
|
"HTTP::Daemon",
|
||||||
|
"HTTP::Daemon::SSL",
|
||||||
|
"HTTP::ProxyPAC",
|
||||||
|
"JMX::Jmx4Perl",
|
||||||
|
"JSON::Parse",
|
||||||
|
"JSON::WebToken",
|
||||||
|
"LV",
|
||||||
|
"MIME::Types",
|
||||||
|
"MongoDB",
|
||||||
|
"Net::FTPSSL",
|
||||||
|
"Net::HTTPTunnel",
|
||||||
|
"Net::NTP",
|
||||||
|
"Net::SMTPS",
|
||||||
|
"Net::SMTP_auth",
|
||||||
|
"Net::Subnet",
|
||||||
|
"Net::TFTP",
|
||||||
|
"PBKDF2::Tiny",
|
||||||
|
"Schedule::Cron",
|
||||||
|
"Statistics::Descriptive",
|
||||||
|
"Statistics::Regression",
|
||||||
|
"Sys::SigAction",
|
||||||
|
"Term::Clui",
|
||||||
|
"Term::ShellUI",
|
||||||
|
"Unicode::Stringprep",
|
||||||
|
"URI::Encode",
|
||||||
|
"URI::Template",
|
||||||
|
"URL::Encode",
|
||||||
|
"UUID::URandom",
|
||||||
|
"WWW::Selenium",
|
||||||
|
"XML::Filter::BufferText",
|
||||||
|
"XML::LibXML::Simple",
|
||||||
|
"XML::SAX::Writer",
|
||||||
|
"ZMQ::Constants",
|
||||||
|
"ZMQ::LibZMQ4"
|
||||||
|
]
|
||||||
|
include:
|
||||||
|
- build_distribs: "bullseye,bookworm,jammy"
|
||||||
|
- deb_dependencies: ""
|
||||||
|
- rpm_provides: ""
|
||||||
|
- version: ""
|
||||||
|
- use_dh_make_perl: "true"
|
||||||
|
- spec_file: ""
|
||||||
|
- 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
|
||||||
|
- name: "DateTime::Format::Duration::ISO8601"
|
||||||
|
- name: "Statistics::Regression"
|
||||||
|
version: "0.53"
|
||||||
|
- name: "ZMQ::Constants"
|
||||||
|
build_distribs: "bullseye,bookworm,jammy"
|
||||||
|
- name: "ZMQ::LibZMQ4"
|
||||||
|
use_dh_make_perl: "false"
|
||||||
|
version: "0.01"
|
||||||
|
deb_dependencies: "libzmq5"
|
||||||
|
name: package ${{ matrix.distrib }} ${{ matrix.name }}
|
||||||
|
container:
|
||||||
|
image: ${{ vars.DOCKER_INTERNAL_REGISTRY_URL }}/${{ matrix.image }}:latest
|
||||||
|
credentials:
|
||||||
|
username: ${{ secrets.DOCKER_REGISTRY_ID }}
|
||||||
|
password: ${{ secrets.DOCKER_REGISTRY_PASSWD }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
||||||
|
|
||||||
|
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.use_dh_make_perl == 'false' }}
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt install -y cpanminus ruby libcurl4-openssl-dev libssh-dev uuid-dev libczmq-dev
|
apt install -y cpanminus ruby libcurl4-openssl-dev libssh-dev uuid-dev libczmq-dev
|
||||||
|
@ -247,7 +335,7 @@ jobs:
|
||||||
fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --verbose --cpan-verbose --no-cpan-test -n $PACKAGE_NAME$PACKAGE_DEPENDENCIES$PACKAGE_VERSION ${{ matrix.name }}
|
fpm -s cpan -t ${{ matrix.package_extension }} --deb-dist ${{ matrix.distrib }} --verbose --cpan-verbose --no-cpan-test -n $PACKAGE_NAME$PACKAGE_DEPENDENCIES$PACKAGE_VERSION ${{ matrix.name }}
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.package_extension == 'deb' && matrix.use_dh_make_perl == 'true' }}
|
- if: ${{ contains(matrix.build_distribs, matrix.distrib) && matrix.use_dh_make_perl == 'true' }}
|
||||||
run: |
|
run: |
|
||||||
apt update
|
apt update
|
||||||
apt install -y cpanminus libcurl4-openssl-dev dh-make-perl libssh-dev uuid-dev libczmq-dev libmodule-install-perl
|
apt install -y cpanminus libcurl4-openssl-dev dh-make-perl libssh-dev uuid-dev libczmq-dev libmodule-install-perl
|
||||||
|
@ -268,7 +356,7 @@ jobs:
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
sign-rpm:
|
sign-rpm:
|
||||||
needs: [package]
|
needs: [package-rpm]
|
||||||
|
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
|
@ -305,7 +393,7 @@ jobs:
|
||||||
key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
key: ${{ github.sha }}-${{ github.run_id }}-rpm-${{ matrix.distrib }}
|
||||||
|
|
||||||
download-and-cache-deb:
|
download-and-cache-deb:
|
||||||
needs: [package]
|
needs: [package-deb]
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
|
|
Loading…
Reference in New Issue