Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ jobs:
- {platform: ubuntu2404-container, os: ubuntu-latest, experimental: false}
- {platform: fedora42-container, os: ubuntu-22.04, experimental: false}
- {platform: fedora43-container, os: ubuntu-22.04, experimental: false}
- {platform: amazonlinux2023-container, os: ubuntu-22.04, experimental: true}
- {platform: amazonlinux2023-aarch64-container, os: ubuntu-22.04-arm, experimental: true}
- {platform: centos-stream8-container, os: ubuntu-latest, experimental: false}
- {platform: centos-stream9-container, os: ubuntu-22.04, experimental: false}
- {platform: centos-stream10-container, os: ubuntu-22.04, experimental: false}
Expand Down Expand Up @@ -61,7 +63,8 @@ jobs:
# crun >= 1.9.1 is required on Ubuntu 20.04.6
# this workaround came from ...
# https://github.com/kubernetes-sigs/kind/pull/3527
curl -sLo /tmp/crun https://github.com/containers/crun/releases/download/1.14.3/crun-1.14.3-linux-amd64
ARCH=$(arch | sed -e 's/x86_64/amd64/g' -e 's/aarch64/arm64/g')
curl -sLo /tmp/crun https://github.com/containers/crun/releases/download/1.14.3/crun-1.14.3-linux-$ARCH
chmod +x /tmp/crun
sudo cp /tmp/crun /usr/bin/crun

Expand Down
44 changes: 44 additions & 0 deletions build/ci/platforms/amazonlinux2023-aarch64-container.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
type: container

artifactory:
package_type: rpm
deploy_path: /amazon/2023/aarch64/pcp

container:
containerfile: |
FROM public.ecr.aws/amazonlinux/amazonlinux:2023
RUN dnf install -y systemd gawk sudo
RUN useradd --create-home pcpbuild
RUN echo 'pcpbuild ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/pcpbuild

CMD ["/usr/sbin/init"]

tasks:
setup: |
sudo dnf install -y which hostname
sudo dnf -y install $(qa/admin/list-packages -m -v -x cpan -x pip3 -x not4ci)
build: |
./Makepkgs --verbose --check
rpm -qp --requires $(echo pcp-*/build/rpm/pcp-*.src.rpm | sed "s/src/$(arch)/") | grep -q libuv.so
copy_build_artifacts: |
cp pcp-*/build/rpm/*.rpm ../artifacts/build
install: |
sudo rpm -Uv pcp-*/build/rpm/*.rpm
echo 'pcpqa ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/pcpqa
init_qa: |
sudo systemctl start valkey
sudo -i -u pcpqa ./check 002
qa_sanity: |
set -o pipefail
sudo -i -u pcpqa ./check -TT -g sanity -x not_in_ci -x not_in_container |& tee ../artifacts/test/test.log
qa: |
set -o pipefail
DEFAULT_PCP_QA_ARGS="-x x11 -x remote -x not_in_ci -x not_in_container"
sudo -i -u pcpqa ./check -TT ${PCP_QA_ARGS:-${DEFAULT_PCP_QA_ARGS}} |& tee ../artifacts/test/test.log
copy_test_artifacts: |
cp /var/lib/pcp/testsuite/check.timings ../artifacts/test
# add current timestamp if the last QA test got stuck
[ $(awk 'END{print NF}' ../artifacts/test/check.timings) = 2 ] && date '+%s' >> ../artifacts/test/check.timings
shopt -s nullglob
for test in /var/lib/pcp/testsuite/*.out.bad; do cp $test ../artifacts/test; [ -f ${test/.out.bad/.full} ] && cp ${test/.out.bad/.full} ../artifacts/test; done
[ -x /var/lib/pcp/testsuite/admin/whatami ] && /var/lib/pcp/testsuite/admin/whatami >../artifacts/test/whatami
44 changes: 44 additions & 0 deletions build/ci/platforms/amazonlinux2023-container.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
type: container

artifactory:
package_type: rpm
deploy_path: /amazon/2023/x86_64/pcp

container:
containerfile: |
FROM public.ecr.aws/amazonlinux/amazonlinux:2023
RUN dnf install -y systemd gawk sudo
RUN useradd --create-home pcpbuild
RUN echo 'pcpbuild ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/pcpbuild

CMD ["/usr/sbin/init"]

tasks:
setup: |
sudo dnf install -y which hostname
sudo dnf -y install $(qa/admin/list-packages -m -v -x cpan -x pip3 -x not4ci)
build: |
./Makepkgs --verbose --check
rpm -qp --requires $(echo pcp-*/build/rpm/pcp-*.src.rpm | sed "s/src/$(arch)/") | grep -q libuv.so
copy_build_artifacts: |
cp pcp-*/build/rpm/*.rpm ../artifacts/build
install: |
sudo rpm -Uv pcp-*/build/rpm/*.rpm
echo 'pcpqa ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/pcpqa
init_qa: |
sudo systemctl start valkey
sudo -i -u pcpqa ./check 002
qa_sanity: |
set -o pipefail
sudo -i -u pcpqa ./check -TT -g sanity -x not_in_ci -x not_in_container |& tee ../artifacts/test/test.log
qa: |
set -o pipefail
DEFAULT_PCP_QA_ARGS="-x x11 -x remote -x not_in_ci -x not_in_container"
sudo -i -u pcpqa ./check -TT ${PCP_QA_ARGS:-${DEFAULT_PCP_QA_ARGS}} |& tee ../artifacts/test/test.log
copy_test_artifacts: |
cp /var/lib/pcp/testsuite/check.timings ../artifacts/test
# add current timestamp if the last QA test got stuck
[ $(awk 'END{print NF}' ../artifacts/test/check.timings) = 2 ] && date '+%s' >> ../artifacts/test/check.timings
shopt -s nullglob
for test in /var/lib/pcp/testsuite/*.out.bad; do cp $test ../artifacts/test; [ -f ${test/.out.bad/.full} ] && cp ${test/.out.bad/.full} ../artifacts/test; done
[ -x /var/lib/pcp/testsuite/admin/whatami ] && /var/lib/pcp/testsuite/admin/whatami >../artifacts/test/whatami
2 changes: 1 addition & 1 deletion qa/admin/list-packages
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ then
apt-cache dumpavail | sed -n -e '/^Package: /s///p' >$tmp.allpkgs
;;

RHEL|Fedora|CentOS|openSUSE|SUSE\ SLES|OpenMandriva)
RHEL|Fedora|CentOS|openSUSE|SUSE\ SLES|OpenMandriva|AmazonLinux)
rpm -qa --qf '%{NAME}\n' >$tmp.installed
if which zypper >/dev/null 2>&1
then
Expand Down
124 changes: 124 additions & 0 deletions qa/admin/package-lists/AmazonLinux+2023+aarch64
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# PCP required package list for Amazon Linux 2023 aarch64
# cloned from Amazon Linux 2023 x86
# Done by kvalin on a container Fri Nov 21 08:52:31 AM EST 2025

#RediSearch - switch to ValkeySearch when available
Spreadsheet::Read cpan
audit
autoconf
avahi-devel
avahi-tools
bash
bc
bcc-tools
bind-utils
bison
bpftrace
clang
coreutils-single
cppcheck
cronie
curl-minimal
cyrus-sasl
cyrus-sasl-devel
cyrus-sasl-lib
cyrus-sasl-md5
cyrus-sasl-plain
device-mapper-devel
ed
expect
flex
gawk
gcc
gcc-c++
gdb
git
git-core
grep
inih-devel
iproute
httpd
initscripts
jq
libbpf
libbpf-devel
libcmocka-devel
libdrm-devel
libicu-devel
libpfm-devel
libselinux-devel
libuv-devel
llvm
llvm-devel
lm_sensors
make
man-db
memcached
mesa-dri-drivers
ncurses-devel
net-tools
nmap
openssl
openssl-devel
perl
perl-CPAN
perl-DBD-MySQL
perl-Date-Manip
perl-ExtUtils-MakeMaker
perl-File-Slurp
perl-JSON
perl-LDAP
perl-List-MoreUtils
perl-Net-SNMP
perl-Spreadsheet-WriteExcel
perl-Text-CSV_XS
perl-Time-HiRes
perl-TimeDate
perl-XML-LibXML
perl-XML-TokeParser
perl-YAML-LibYAML
perl-autodie
perl-interpreter
perl-libwww-perl
pkgconf-pkg-config
postfix-perl-scripts
psmisc
python3
python3-bcc
python3-devel
python3-libs
python3-lxml
python3-openpyxl
python3-pillow
python3-psycopg2
python3-pymongo
python3-requests
python3-rtslib
python3-setuptools
python3-six
rdma-core-devel
readline-devel
rpm-build
rrdtool
rrdtool-perl
s-nail
sed
selinux-policy
selinux-policy-devel
selinux-policy-targeted
setools-console
smartmontools
socat
sqlite
sqlite-libs
sudo
sysstat
systemd-devel
targetcli
time
valgrind
valkey
xfsprogs
xkeyboard-config
xz-devel
zstd
124 changes: 124 additions & 0 deletions qa/admin/package-lists/AmazonLinux+2023+x86_64
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
# PCP required package list for Amazon Linux 2023 x86_64
# cloned from Fedora 43 list
# Done by kvalin on a container Wed Nov 19 09:57:41 AM EST 2025
#
#RediSearch - switch to ValkeySearch when available
Spreadsheet::Read cpan
audit
autoconf
avahi-devel
avahi-tools
bash
bc
bcc-tools
bind-utils
bison
bpftrace
clang
coreutils-single
cppcheck
cronie
curl-minimal
cyrus-sasl
cyrus-sasl-devel
cyrus-sasl-lib
cyrus-sasl-md5
cyrus-sasl-plain
device-mapper-devel
ed
expect
flex
gawk
gcc
gcc-c++
gdb
git
git-core
grep
inih-devel
iproute
httpd
initscripts
jq
libbpf
libbpf-devel
libcmocka-devel
libdrm-devel
libicu-devel
libpfm-devel
libselinux-devel
libuv-devel
llvm
llvm-devel
lm_sensors
make
man-db
memcached
mesa-dri-drivers
ncurses-devel
net-tools
nmap
openssl
openssl-devel
perl
perl-CPAN
perl-DBD-MySQL
perl-Date-Manip
perl-ExtUtils-MakeMaker
perl-File-Slurp
perl-JSON
perl-LDAP
perl-List-MoreUtils
perl-Net-SNMP
perl-Spreadsheet-WriteExcel
perl-Text-CSV_XS
perl-Time-HiRes
perl-TimeDate
perl-XML-LibXML
perl-XML-TokeParser
perl-YAML-LibYAML
perl-autodie
perl-interpreter
perl-libwww-perl
pkgconf-pkg-config
postfix-perl-scripts
psmisc
python3
python3-bcc
python3-devel
python3-libs
python3-lxml
python3-openpyxl
python3-pillow
python3-psycopg2
python3-pymongo
python3-requests
python3-rtslib
python3-setuptools
python3-six
rdma-core-devel
readline-devel
rpm-build
rrdtool
rrdtool-perl
s-nail
sed
selinux-policy
selinux-policy-devel
selinux-policy-targeted
setools-console
smartmontools
socat
sqlite
sqlite-libs
sudo
sysstat
systemd-devel
targetcli
time
valgrind
valkey
xfsprogs
xkeyboard-config
xz-devel
zstd
5 changes: 5 additions & 0 deletions qa/admin/whatami
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,11 @@ then
#
os=`sed </etc/gentoo-release -e 's/ release / /' -e 's/ Base System / /'`
$debug && from=' [/etc/gentoo-release]'
elif [ -f /etc/amazon-linux-release ]
then
#Amazon Linux release 2023.9.20251117 (Amazon Linux)
os=`sed < /etc/amazon-linux-release -e 's/ release//g' -e 's/(Amazon Linux)//g' -e 's/\..*//g' -e 's/Amazon Linux/AmazonLinux/g'`
$debug && from=' [/etc/amazon-linux-release]'
elif [ -f /etc/system-release ]
then
# Fedora release 15 (Lovelock)
Expand Down
Loading