Add Debian 12 to our CI and platform support document. (#14529)
* Fix handling of base images for CI jobs. This allows us to continue using properly descriptive names despite Debian not publishing docker images with version numbers. * Add Debian 12 to CI and platform support documentation. * Fix build matrix generation scripts.
Austin S. Hemmelgarn committed
Feb 15, 2023 at 07:18 UTC
568cda1978cabe8a338c118682a85c56720d5698
7 files changed
+21
-10
.github/data/distros.yml
+13
-3
@@ -83,14 +83,15 @@ include:
83
84
- &debian
85
distro: debian
86
- version: "11"
86
+ version: "12"
87
+ base_image: debian:bookworm
88
env_prep: |
89
apt-get update
90
jsonc_removal: |
91
apt-get purge -y libjson-c-dev
92
packages: &debian_packages
93
type: deb
93
- repo_distro: debian/bullseye
94
+ repo_distro: debian/bookworm
95
arches:
96
- i386
97
- amd64
@@ -98,8 +99,17 @@ include:
99
- arm64
100
test:
101
ebpf-core: true
102
+ - <<: *debian
103
+ version: "11"
104
+ base_image: debian:bullseye
105
+ packages:
106
+ <<: *debian_packages
107
+ repo_distro: debian/bullseye
108
+ test:
109
+ ebpf-core: false
110
- <<: *debian
111
version: "10"
112
+ base_image: debian:buster
113
packages:
114
<<: *debian_packages
115
repo_distro: debian/buster
@@ -130,7 +140,7 @@ include:
140
- &opensuse
141
distro: opensuse
142
version: "15.4"
133
- base_image: opensuse/leap
143
+ base_image: opensuse/leap:15.4
144
jsonc_removal: |
145
zypper rm -y libjson-c-devel
146
packages: &opensuse_packages
.github/scripts/gen-matrix-build.py
+1
-1
@@ -17,7 +17,7 @@ for i, v in enumerate(data['include']):
17
}
18
19
if 'base_image' in v:
20
- e['distro'] = ':'.join([v['base_image'], str(v['version'])])
20
+ e['distro'] = v['base_image']
21
else:
22
e['distro'] = ':'.join([v['distro'], str(v['version'])])
23
.github/scripts/gen-matrix-packaging.py
+1
-1
@@ -26,7 +26,7 @@ for i, v in enumerate(data['include']):
26
'version': data['include'][i]['version'],
27
'repo_distro': data['include'][i]['packages']['repo_distro'],
28
'format': data['include'][i]['packages']['type'],
29
- 'base_image': data['include'][i]['base_image'] if 'base_image' in data['include'][i] else data['include'][i]['distro'],
29
+ 'base_image': data['include'][i]['base_image'] if 'base_image' in data['include'][i] else ':'.join([data['include'][i]['distro'], data['include'][i]['version']]),
30
'platform': data['platform_map'][arch],
31
'arch': arch
32
})
.github/scripts/gen-matrix-repoconfig.py
+1
-1
@@ -17,7 +17,7 @@ for i, v in enumerate(data['include']):
17
'version': data['include'][i]['version'],
18
'pkgclouddistro': data['include'][i]['packages']['repo_distro'],
19
'format': data['include'][i]['packages']['type'],
20
- 'base_image': data['include'][i]['base_image'] if 'base_image' in data['include'][i] else data['include'][i]['distro'],
20
+ 'base_image': data['include'][i]['base_image'] if 'base_image' in data['include'][i] else ':'.join([data['include'][i]['distro'], data['include'][i]['version']]),
21
'platform': data['platform_map']['amd64'],
22
'arches': ' '.join(['"' + x + '"' for x in data['include'][i]['packages']['arches']])
23
})
.github/workflows/packaging.yml
+2
-2
@@ -170,7 +170,7 @@ jobs:
170
retry_wait_seconds: 30
171
timeout_seconds: 900
172
command: |
173
- docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}:${{ matrix.version }}
173
+ docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}
174
docker pull --platform ${{ matrix.platform }} netdata/package-builders:${{ matrix.distro }}${{ matrix.version }}
175
- name: Build Packages
176
id: build
@@ -191,7 +191,7 @@ jobs:
191
run: |
192
docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 -e DISTRO=${{ matrix.distro }} \
193
-e VERSION=${{ needs.version-check.outputs.version }} -e DISTRO_VERSION=${{ matrix.version }} \
194
- --platform=${{ matrix.platform }} -v "$PWD":/netdata ${{ matrix.base_image }}:${{ matrix.version }} \
194
+ --platform=${{ matrix.platform }} -v "$PWD":/netdata ${{ matrix.base_image }} \
195
/netdata/.github/scripts/pkg-test.sh
196
- name: SSH setup
197
id: ssh-setup
.github/workflows/repoconfig-packages.yml
+2
-2
@@ -86,13 +86,13 @@ jobs:
86
max_attempts: 3
87
retry_wait_seconds: 30
88
timeout_seconds: 900
89
- command: docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}:${{ matrix.version }}
89
+ command: docker pull --platform ${{ matrix.platform }} ${{ matrix.base_image }}
90
- name: Build Packages
91
id: build
92
shell: bash
93
run: |
94
docker run --security-opt seccomp=unconfined -e DISABLE_TELEMETRY=1 --platform ${{ matrix.platform }} \
95
- -v "$PWD":/netdata ${{ matrix.base_image }}:${{ matrix.version }} \
95
+ -v "$PWD":/netdata ${{ matrix.base_image }} \
96
/netdata/packaging/repoconfig/build-${{ matrix.format }}.sh
97
- name: SSH setup
98
id: ssh-setup
packaging/PLATFORM_SUPPORT.md
+1
@@ -63,6 +63,7 @@ to work on these platforms with minimal user effort.
63
| Alma Linux | 8.x | x86\_64, AArch64 | Also includes support for Rocky Linux and other ABI compatible RHEL derivatives |
64
| CentOS | 7.x | x86\_64 | |
65
| Docker | 19.03 or newer | x86\_64, i386, ARMv7, AArch64, POWER8+ | See our [Docker documentation](https://github.com/netdata/netdata/blob/master/packaging/docker/README.md) for more info on using Netdata on Docker |
66
+| Debian | 12.x | x86\_64, i386, ARMv7, AArch64 | |
67
| Debian | 11.x | x86\_64, i386, ARMv7, AArch64 | |
68
| Debian | 10.x | x86\_64, i386, ARMv7, AArch64 | |
69
| Fedora | 37 | x86\_64, AArch64 | |