@cryptotaxi247 / netdata-1 / commits / 568cda197

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 | |