Skip to content

Commit

Permalink
Merge branch 'ubuntu2404'
Browse files Browse the repository at this point in the history
  • Loading branch information
natoscott committed May 14, 2024
2 parents 70d103e + 14064d6 commit d3b77c3
Show file tree
Hide file tree
Showing 8 changed files with 241 additions and 5 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
matrix:
include:
# default platforms for CI in the performancecopilot/pcp repo
- {platform: ubuntu1804-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu1804-i386-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu2004-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu2204-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu2404-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora39-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora40-container, os: ubuntu-20.04, experimental: false}
- {platform: centos-stream8-container, os: ubuntu-20.04, experimental: false}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ jobs:
- {platform: ubuntu2004, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu2204-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu2204, os: ubuntu-22.04, experimental: false}
- {platform: ubuntu2404-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu2404, os: ubuntu-22.04, experimental: false}
- {platform: fedora38-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora39-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora40-container, os: ubuntu-20.04, experimental: false}
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ jobs:
# different packages than the stock Ubuntu releases
- {platform: debian10-container, os: ubuntu-20.04}
- {platform: debian11-container, os: ubuntu-20.04}
- {platform: debian12-container, os: ubuntu-20.04}
- {platform: ubuntu1804-container, os: ubuntu-20.04}
- {platform: ubuntu2004-container, os: ubuntu-20.04}
- {platform: ubuntu2204-container, os: ubuntu-20.04}
- {platform: debian12-container, os: ubuntu-22.04}
- {platform: ubuntu1804-container, os: ubuntu-22.04}
- {platform: ubuntu2004-container, os: ubuntu-22.04}
- {platform: ubuntu2204-container, os: ubuntu-22.04}
- {platform: ubuntu2404-container, os: ubuntu-22.04}
- {platform: fedora38-container, os: ubuntu-20.04}
- {platform: fedora39-container, os: ubuntu-20.04}
- {platform: fedora40-container, os: ubuntu-20.04}
Expand Down
2 changes: 2 additions & 0 deletions build/ci/packagecloud.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,11 @@ BEGIN {
dist["debian11"] = "debian/bullseye";
dist["debian12"] = "debian/bookworm";
dist["debian13"] = "debian/trixie";
dist["debian14"] = "debian/forky";
dist["ubuntu1804"] = "ubuntu/bionic";
dist["ubuntu2004"] = "ubuntu/focal";
dist["ubuntu2204"] = "ubuntu/jammy";
dist["ubuntu2404"] = "ubuntu/noble";
}
$1 ~ /^debian/ || /^ubuntu/ { print dist[$1] }
$1 ~ /^fedora/ { match($1, /fedora([1-9][0-9]*$)/, m); printf "fedora/%s\n", m[1] }
Expand Down
53 changes: 53 additions & 0 deletions build/ci/platforms/ubuntu2404-container.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
type: container

artifactory:
package_type: deb
deploy_path: /ubuntu/24.04/amd64/pcp
params:
deb.distribution: noble
deb.component: main
deb.architecture: amd64

container:
containerfile: |
FROM docker.io/library/ubuntu:24.04
RUN apt-get update && apt-get install -y systemd sudo
RUN useradd --create-home pcpbuild
RUN echo 'pcpbuild ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/pcpbuild
# allow services to be started during installation
# pmcd will create the file /var/lib/pcp/pmns/stdpmid, which is required by QA tests
RUN printf '#!/bin/sh\nexit 0\n' > /usr/sbin/policy-rc.d
CMD ["/usr/bin/systemd"]
tasks:
setup: |
sudo apt-get -y update
pkgs=$(qa/admin/list-packages -m -v -x cpan -x pip3 -x not4ci)
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y $pkgs
build: |
./Makepkgs --nonrpm --verbose
dpkg -I build/deb/pcp_*.deb | grep Depends | grep -q libuv1
copy_build_artifacts: |
cp build/deb/*.deb ../artifacts/build
install: |
sudo dpkg -i build/deb/*.deb
echo 'pcpqa ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/pcpqa
init_qa: |
sudo systemctl start redis
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
33 changes: 33 additions & 0 deletions build/ci/platforms/ubuntu2404.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# runs in a GitHub Actions VM, without container
type: direct

tasks:
setup: |
sudo apt-get -y update
pkgs=$(qa/admin/list-packages -m -v -x cpan -x pip3 -x not4ci)
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y $pkgs
build: |
./Makepkgs --nonrpm --verbose
dpkg -I build/deb/pcp_*.deb | grep Depends | grep -q libuv1
copy_build_artifacts: |
cp build/deb/*.deb ../artifacts/build
install: |
sudo dpkg -i build/deb/*.deb
echo 'pcpqa ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/pcpqa
init_qa: |
sudo systemctl start redis
sudo -i -u pcpqa ./check 002
qa_sanity: |
set -o pipefail
sudo -i -u pcpqa ./check -TT -g sanity -x not_in_ci |& tee ../artifacts/test/test.log
qa: |
set -o pipefail
DEFAULT_PCP_QA_ARGS="-x x11 -x remote -x not_in_ci"
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
143 changes: 143 additions & 0 deletions qa/admin/package-lists/Ubuntu+24.04+x86_64
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
# PCP required package list for Ubuntu 22.04 x86_64
#
Text::CSV_XS cpan
apache2-bin
auditd not4ci
autoconf
autotools-dev
avahi-utils
bash
bc
bind9-host
bison
bpfcc-tools
bpftrace
# see https://wiki.ubuntu.com/Debug%20Symbol%20Packages to set up repo
# for this one ...
bpftrace-dbgsym not4ci
bsd-mailx
build-essential
chrpath
coreutils
Text::CSV_XS cpan
cppcheck
cron
curl
debhelper
dh-python
docker.io not4ci
dpkg-dev
ed
expect
flex
g++
gawk
gcc
gdb
gfs2-utils
git
grep
iproute2
jq
libavahi-common-dev
libclass-dbi-perl
libcmocka-dev
libcoin-dev
libdbd-mysql-perl
libdbd-pg-perl
libdevmapper-dev
libextutils-autoinstall-perl
libfile-slurp-perl
libgl1-mesa-dri
libibmad-dev
libibumad-dev
libicu74
libjson-perl
liblist-moreutils-perl
liblzma-dev
libncurses-dev
libnet-snmp-perl
libperl5.38
libpfm4-dev
libpython3-dev
libpython3-stdlib
libqt5svg5-dev
libreadline-dev
librrds-perl
libsasl2-dev
libsasl2-modules
libsoqt520-dev
libspreadsheet-read-perl
libspreadsheet-readsxc-perl
libspreadsheet-writeexcel-perl
libspreadsheet-xlsx-perl
libsqlite3-0
libssl-dev
libsystemd-dev
libtext-csv-xs-perl
libtimedate-perl
libuv1-dev
libvirt-daemon
libvirt-daemon-system
libxml-libxml-perl
libxml-tokeparser-perl
libyaml-libyaml-perl
linux-headers-`uname -r` not4ci
lm-sensors
make
man-db
mandoc
mariadb-client
memcached
net-tools
nmap
openjdk-11-jre-headless
openssl
perl
perl-modules-5.38
pkg-config
postgresql-client-common
psmisc
pylint
python3-all
python3-all-dev
python3-bpfcc
python3-dev
python3-elasticsearch
python3-json-pointer
python3-libvirt
python3-lxml
python3-minimal
python3-openpyxl
python3-pil
python3-prometheus-client
python3-psycopg2
python3-pymongo
python3-pyodbc
python3-requests
python3-setuptools
python3-six
qtbase5-dev
qtbase5-dev-tools
qtchooser
redis-redisearch
redis-server
redis-tools
sasl2-bin
sed
smartmontools
socat
sysstat
systemtap
systemtap-sdt-dev
time
unbound
valgrind
xfsprogs
xkb-data
zfsutils-linux
zlib1g-dev
libbpf1
libbpf-dev
clang
llvm
2 changes: 2 additions & 0 deletions qa/admin/qa-summary
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,8 @@ BEGIN { OFS ="|" }
$2 = "ub20" "|" $2
else if ($2 ~ /^ci-ubuntu2204$/)
$2 = "ub22" "|" $2
else if ($2 ~ /^ci-ubuntu2404$/)
$2 = "ub24" "|" $2
else if ($2 ~ /^ci-ubuntu[1-9][0-9]..$/)
$2 = "u" substr($2,10,2) "|" $2
else
Expand Down

0 comments on commit d3b77c3

Please sign in to comment.