Skip to content

Commit

Permalink
ci: add Debian 12, drop Ubuntu 16 and Fedora 35
Browse files Browse the repository at this point in the history
Add the new Debian 'bookworm' release (12), drop two long-EOL releases.
  • Loading branch information
natoscott committed Jun 14, 2023
1 parent ce328c3 commit 177b3d6
Show file tree
Hide file tree
Showing 10 changed files with 268 additions and 111 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
matrix:
include:
# default platforms for CI in the performancecopilot/pcp repo
- {platform: ubuntu1604-container, os: ubuntu-20.04, experimental: false}
- {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}
Expand All @@ -32,6 +32,7 @@ jobs:
# other platforms that may be used for testing in developer repos
# - {platform: debian10-container, os: ubuntu-20.04, experimental: false}
# - {platform: debian11-container, os: ubuntu-20.04, experimental: false}
# - {platform: debian12-container, os: ubuntu-20.04, experimental: false}
# - {platform: ubuntu1804-container, os: ubuntu-20.04, experimental: false}
# - {platform: ubuntu2004, os: ubuntu-20.04, experimental: false}
# - {platform: ubuntu2204, os: ubuntu-20.04, experimental: false}
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/qa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,13 @@ jobs:
include:
- {platform: debian10-container, os: ubuntu-20.04, experimental: false}
- {platform: debian11-container, os: ubuntu-20.04, experimental: false}
- {platform: ubuntu1604-container, os: ubuntu-20.04, experimental: false}
- {platform: debian12-container, os: ubuntu-20.04, experimental: false}
- {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: 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: fedora35-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora36-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora37-container, os: ubuntu-20.04, experimental: false}
- {platform: fedora38-container, os: ubuntu-20.04, experimental: false}
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@ jobs:
# different packages than the stock Ubuntu releases
- {platform: debian10-container, os: ubuntu-20.04}
- {platform: debian11-container, os: ubuntu-20.04}
- {platform: ubuntu1604-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: fedora35-container, os: ubuntu-20.04}
- {platform: fedora36-container, os: ubuntu-20.04}
- {platform: fedora37-container, os: ubuntu-20.04}
- {platform: fedora38-container, os: ubuntu-20.04}
Expand Down
9 changes: 1 addition & 8 deletions build/ci/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Workflow descriptions are located in `.github/workflows`, platform specific PCP

## Reproducing test failures
```
build/ci/ci-run.py ubuntu2004-container|fedora34-container|centos8-container|... reproduce
build/ci/ci-run.py ubuntu2004-container|fedora38-container|centos9-container|... reproduce
```

## Debugging
Expand All @@ -20,13 +20,6 @@ Include the following action in a workflow, and connect via SSH:
uses: mxschmitt/action-tmate@v2
```

## Notes
Ubuntu 16.04 runs in a container even though there is a native Ubuntu 16.04 VM on GitHub actions, because:
* the `ci-run.py` script requires Python >= 3.6, but
* Ubuntu 16.04 contains Python 3.5 in the official repositories, and
* if a more recent version is installed using the `actions/setup-python` action, the included setuptools doesn't include the `--install-layout` option (this option is included only in the official Debian Python builds),
* however, this option is required by the PCP Python build.

# Artifactory
## Recalculate and sign package metadata
The repository metadata needs to be signed again after each change to the repository.
Expand Down
2 changes: 1 addition & 1 deletion build/ci/platforms/debian10-container.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ tasks:
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"
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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,24 @@ type: container

artifactory:
package_type: deb
deploy_path: /ubuntu/16.04/amd64/pcp
deploy_path: /debian/12/amd64/pcp
params:
deb.distribution: xenial
deb.distribution: bookwork
deb.component: main
deb.architecture: amd64

container:
containerfile: |
FROM docker.io/library/ubuntu:16.04
RUN apt-get update && apt-get install -y sudo locales
FROM docker.io/library/debian:bookworm
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
RUN update-locale LANG=C.UTF-8
ENV LANG C.UTF-8
# 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 ["/sbin/init"]
CMD ["/bin/systemd"]
tasks:
setup: |
Expand All @@ -36,11 +34,8 @@ tasks:
install: |
sudo dpkg -i build/deb/*.deb
echo 'pcpqa ALL=(ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/pcpqa
# "invoke-rc.d pmcd start" (inside pcp.postinst.tail hook) doesn't start pmcd on ubuntu 16.04 (works fine on ubuntu 18.04)
# make sure it's started here, as pmcd will create the file /var/lib/pcp/pmns/stdpmid, which is required by QA tests
sudo systemctl start pmcd
init_qa: |
sudo systemctl start redis
sudo -i -u pcpqa ./check 002
qa_sanity: |
set -o pipefail
Expand Down
43 changes: 0 additions & 43 deletions build/ci/platforms/fedora34-container.yml

This file was deleted.

43 changes: 0 additions & 43 deletions build/ci/platforms/fedora35-container.yml

This file was deleted.

136 changes: 136 additions & 0 deletions qa/admin/package-lists/Debian+12.0+x86_64
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# PCP required package list for Debian 12 any
# created by nathans on fedora.localdomain Tue 13 Jun 2023 09:46:08 +1000
#
apache2
apache2-bin
auditd
autoconf
autotools-dev
avahi-utils
bash
bc
bind9-host
bison
bpfcc-tools
bpftrace
bsd-mailx
build-essential
chrpath
clang
coreutils
Text::CSV_XS cpan
cppcheck
cron
curl
debhelper
dh-python
dpkg-dev
ed
flex
g++
gawk
gcc
gdb
gfs2-utils
git
grep
iproute2
libavahi-common-dev
libbpf1
libbpf-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
libicu72
libjson-perl
liblist-moreutils-perl
liblzma-dev
libncurses-dev
libncurses5-dev
libnet-snmp-perl
libperl5.36
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
llvm
lm-sensors
make
man-db
mandoc
mariadb-client-core
memcached
net-tools
nmap
openjdk-17-jre-headless
openssl
perl
perl-modules-5.36
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-openpyxl
python3-pil
python3-prometheus-client
python3-psycopg2
python3-pymongo
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-sdt-dev
time
unbound
valgrind
xfsprogs
xkb-data
zabbix-agent
zlib1g-dev
Loading

0 comments on commit 177b3d6

Please sign in to comment.