From 46d73e34c0dbab3777b898fc5418f9d0a0e82489 Mon Sep 17 00:00:00 2001 From: "Austin S. Hemmelgarn" Date: Wed, 16 Feb 2022 08:53:22 -0500 Subject: Consolidate build matrix across CI jobs. (#11807) * Restructure CI build matrix handling for better consolidation. * Update core packaging code to use new distro.yml file. * Update repository config packaging code to use new distro.yml file. --- .github/data/build-matrix.json | 98 ---------------------------- .github/data/distros.yml | 145 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 145 insertions(+), 98 deletions(-) delete mode 100644 .github/data/build-matrix.json create mode 100644 .github/data/distros.yml (limited to '.github/data') diff --git a/.github/data/build-matrix.json b/.github/data/build-matrix.json deleted file mode 100644 index 6ceb9fa541..0000000000 --- a/.github/data/build-matrix.json +++ /dev/null @@ -1,98 +0,0 @@ -{ - "include": [ - { - "distro": "alpine:edge", - "artifact_key": "alpine-edge", - "pre": "apk add -U bash", - "rmjsonc": "apk del json-c-dev" - }, - { - "distro": "alpine:3.14", - "artifact_key": "alpine-3.14", - "pre": "apk add -U bash", - "rmjsonc": "apk del json-c-dev" - }, - { - "distro": "alpine:3.13", - "artifact_key": "alpine-3.13", - "pre": "apk add -U bash", - "rmjsonc": "apk del json-c-dev" - }, - { - "distro": "alpine:3.12", - "artifact_key": "alpine-3.12", - "pre": "apk add -U bash", - "rmjsonc": "apk del json-c-dev" - }, - { - "distro": "archlinux:latest", - "artifact_key": "archlinux", - "pre": "pacman --noconfirm -Syu && pacman --noconfirm -Sy grep libffi" - }, - { - "distro": "centos:7", - "artifact_key": "centos7" - }, - { - "distro": "rockylinux/rockylinux:8", - "artifact_key": "rockylinux8", - "rmjsonc": "dnf remove -y json-c-devel" - }, - { - "distro": "debian:11", - "artifact_key": "debian11", - "pre": "apt-get update", - "rmjsonc": "apt-get remove -y libjson-c-dev" - }, - { - "distro": "debian:10", - "artifact_key": "debian10", - "pre": "apt-get update", - "rmjsonc": "apt-get remove -y libjson-c-dev" - }, - { - "distro": "debian:9", - "artifact_key": "debian9", - "pre": "apt-get update", - "rmjsonc": "apt-get remove -y libjson-c-dev" - }, - { - "distro": "fedora:35", - "artifact_key": "fedora35", - "rmjsonc": "dnf remove -y json-c-devel" - }, - { - "distro": "fedora:34", - "artifact_key": "fedora34", - "rmjsonc": "dnf remove -y json-c-devel" - }, - { - "distro": "opensuse/leap:15.3", - "artifact_key": "opensuse15.3", - "rmjsonc": "zypper rm -y libjson-c-devel" - }, - { - "distro": "oraclelinux:8", - "artifact_key": "oraclelinux8", - "rmjsonc": "dnf remove -y json-c-devel" - }, - { - "distro": "ubuntu:21.10", - "artifact_key": "ubuntu21.10", - "pre": "rm -f /etc/apt/apt.conf.d/docker && apt-get update", - "rmjsonc": "apt-get remove -y libjson-c-dev" - }, - { - "distro": "ubuntu:20.04", - "artifact_key": "ubuntu20.04", - "pre": "apt-get update", - "rmjsonc": "apt-get remove -y libjson-c-dev" - }, - { - "distro": "ubuntu:18.04", - "artifact_key": "ubuntu18.04", - "pre": "apt-get update", - "rmjsonc": "apt-get remove -y libjson-c-dev" - } - ] -} diff --git a/.github/data/distros.yml b/.github/data/distros.yml new file mode 100644 index 0000000000..e3d76dc13a --- /dev/null +++ b/.github/data/distros.yml @@ -0,0 +1,145 @@ +# This defines the full set of distros we run CI on. +--- +platform_map: # map packaging architectures to docker platforms + i386: linux/i386 + amd64: linux/amd64 + armhf: linux/arm/v7 + arm64: linux/arm64/v8 +include: + - &alpine + distro: alpine + version: edge + env_prep: | + apk add -U bash + jsonc_removal: | + apk del json-c-dev + - <<: *alpine + version: "3.15" + - <<: *alpine + version: "3.14" + - <<: *alpine + version: "3.13" + - <<: *alpine + version: "3.12" + + - distro: archlinux + version: latest + env_prep: | + pacman --noconfirm -Syu && pacman --noconfirm -Sy grep libffi + + - distro: rockylinux + version: "8" + base_image: rockylinux/rockylinux + jsonc_removal: | + dnf remove -y json-c-devel + packages: + type: rpm + repo_distro: el/8 + arches: + - amd64 + - arm64 + - distro: centos + version: "7" + packages: + type: rpm + repo_distro: el/7 + arches: + - amd64 + + - &debian + distro: debian + version: "11" + env_prep: | + apt-get update + jsonc_removal: | + apt-get purge -y libjson-c-dev + packages: &debian_packages + type: deb + repo_distro: debian/bullseye + arches: + - i386 + - amd64 + - armhf + - arm64 + - <<: *debian + version: "10" + packages: + <<: *debian_packages + repo_distro: debian/buster + - <<: *debian + version: "9" + packages: + <<: *debian_packages + repo_distro: debian/stretch + + - &fedora + distro: fedora + version: "35" + jsonc_removal: | + dnf remove -y json-c-devel + packages: &fedora_packages + type: rpm + repo_distro: fedora/35 + arches: + - amd64 + - armhf + - arm64 + - <<: *fedora + version: "34" + packages: + <<: *fedora_packages + repo_distro: fedora/34 + + - &opensuse + distro: opensuse + version: "15.3" + base_image: opensuse/leap + jsonc_removal: | + zypper rm -y libjson-c-devel + packages: + type: rpm + repo_distro: opensuse/15.3 + arches: + - amd64 + - arm64 + + - distro: oraclelinux + version: "8" + jsonc_removal: | + dnf remove -y json-c-devel + packages: + type: rpm + repo_distro: ol/8 + arches: + - amd64 + - arm64 + + - &ubuntu + distro: ubuntu + version: "21.10" + env_prep: | + rm -f /etc/apt/apt.conf.d/docker && apt-get update + jsonc_removal: | + apt-get remove -y libjson-c-dev + packages: &ubuntu_packages + type: deb + repo_distro: ubuntu/impish + arches: + - amd64 + - armhf + - arm64 + - <<: *ubuntu + version: "20.04" + packages: + <<: *ubuntu_packages + repo_distro: ubuntu/focal + - <<: *ubuntu + version: "18.04" + packages: + <<: *ubuntu_packages + repo_distro: ubuntu/bionic + arches: + - i386 + - amd64 + - armhf + - arm64 -- cgit v1.2.3