Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/130210/?format=api
https://patches.dpdk.org/api/patches/130210/?format=api", "web_url": "https://patches.dpdk.org/project/ci/patch/20230811200018.5650-3-ahassick@iol.unh.edu/", "project": { "id": 5, "url": "https://patches.dpdk.org/api/projects/5/?format=api", "name": "CI", "link_name": "ci", "list_id": "ci.dpdk.org", "list_email": "ci@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dpdk-ci", "webscm_url": "https://git.dpdk.org/tools/dpdk-ci/", "list_archive_url": "https://inbox.dpdk.org/ci", "list_archive_url_format": "https://inbox.dpdk.org/ci/{}", "commit_url_format": "" }, "msgid": "<20230811200018.5650-3-ahassick@iol.unh.edu>", "list_archive_url": "https://inbox.dpdk.org/ci/20230811200018.5650-3-ahassick@iol.unh.edu", "date": "2023-08-11T20:00:14", "name": "[v9,2/6] containers/inventory: Add inventory for container builder", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "bdb22a3e34724c82f95d4f597efcaa3a042cf6cb", "submitter": { "id": 3127, "url": "https://patches.dpdk.org/api/people/3127/?format=api", "name": "Adam Hassick", "email": "ahassick@iol.unh.edu" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/ci/patch/20230811200018.5650-3-ahassick@iol.unh.edu/mbox/", "series": [ { "id": 29199, "url": "https://patches.dpdk.org/api/series/29199/?format=api", "web_url": "https://patches.dpdk.org/project/ci/list/?series=29199", "date": "2023-08-11T20:00:12", "name": "Community Lab Containers and Builder Engine", "version": 9, "mbox": "https://patches.dpdk.org/series/29199/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/130210/comments/", "check": "pending", "checks": "https://patches.dpdk.org/api/patches/130210/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<ci-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 642E443038;\n\tFri, 11 Aug 2023 22:03:04 +0200 (CEST)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5E7F540E03;\n\tFri, 11 Aug 2023 22:03:04 +0200 (CEST)", "from mail-oi1-f193.google.com (mail-oi1-f193.google.com\n [209.85.167.193])\n by mails.dpdk.org (Postfix) with ESMTP id 0B28E40144\n for <ci@dpdk.org>; Fri, 11 Aug 2023 22:03:03 +0200 (CEST)", "by mail-oi1-f193.google.com with SMTP id\n 5614622812f47-3a7a180c3faso2053160b6e.2\n for <ci@dpdk.org>; Fri, 11 Aug 2023 13:03:02 -0700 (PDT)", "from pogmachine2.loudonlune.net ([216.212.51.182])\n by smtp.gmail.com with ESMTPSA id\n f19-20020ac84993000000b004053bcffe49sm1399874qtq.9.2023.08.11.13.03.01\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 11 Aug 2023 13:03:01 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=iol.unh.edu; s=unh-iol; t=1691784182; x=1692388982;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=qOI8gRaScdM/3zKvP0+q0gIiBTMAEtS5RfGBzNGYuiM=;\n b=SEfW6ASdmInP1/DYT78kg8tGUSgo+obOsKbxy74aUvsseNUWojP4jaKzzYaMcq+Ipr\n a/x8+hZXlWGefvTPGooFSUOVXRGySzh9z0H3ZFNnR674NcuWywgbfdO7c5gRVLcGWH/p\n BOr+z2w4D0DfJV0UvEMaUB1yl4Z6cn9eYQxbI=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20221208; t=1691784182; x=1692388982;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=qOI8gRaScdM/3zKvP0+q0gIiBTMAEtS5RfGBzNGYuiM=;\n b=iXJZO2jBK1THAt0awpdR1MCmgK2xQinNSYaGqt6Ob7VQGpFxlow5upKZV0HMT3X0VY\n EQTwDsuvLWZGl1E8fo45RpNzgeUNS37jJZzkBcyf9358/wj4/g82Yw4Nx9BFcIax0nbu\n 0Q9PQTjzSx/DQk8/8YG04IyZpD85M8PD9Uu21kYpOGX/jNV/z2pHyjtWeDKFSn/ah/Ic\n B5id2jMNVhwETYdSNnwEJxSzfHnnJW2HklV2yEvH8UaYVhGNwt35tkpc9ckzsuoByonY\n 38pprp9OsCbQGgTwyYayj37ZMkDlZ8Q52EVQzmw7vbdyXurlVTzxbj2Z4JIDY046X5Ro\n 4U5g==", "X-Gm-Message-State": "AOJu0YzLKUBSotQi54hUdxQl6O4WhuIkhap7MjkHoJV+zvg+LKoB3yzk\n DdkSVAZRWVOcns394vdLe9GJXOSV5y6mwW5k90/kZrff0JJue7Jj+1TTopaWNHKwflkaKO/6WiG\n VCneN0SAfKPH1FT7x6jmT5E6vr2buM3YxODal8nZXYFAiIq8islBnrvR4ZO+RJSVdnLe6yQ==", "X-Google-Smtp-Source": "\n AGHT+IHt53MFJcnBWW2IBev+ccvT0GiNr8i4Hc6/pb22XIJ8zqCz3vzAuxyCTQ0k43S62wjkXalvEQ==", "X-Received": "by 2002:a05:6358:4297:b0:139:e7db:3f3f with SMTP id\n s23-20020a056358429700b00139e7db3f3fmr2875466rwc.10.1691784182037;\n Fri, 11 Aug 2023 13:03:02 -0700 (PDT)", "From": "Adam Hassick <ahassick@iol.unh.edu>", "To": "ci@dpdk.org", "Cc": "aconole@redhat.com, alialnu@nvidia.com,\n Owen Hilyard <ohilyard@iol.unh.edu>, Adam Hassick <ahassick@iol.unh.edu>", "Subject": "[PATCH v9 2/6] containers/inventory: Add inventory for container\n builder", "Date": "Fri, 11 Aug 2023 16:00:14 -0400", "Message-ID": "<20230811200018.5650-3-ahassick@iol.unh.edu>", "X-Mailer": "git-send-email 2.41.0", "In-Reply-To": "<20230811200018.5650-1-ahassick@iol.unh.edu>", "References": "<20230811200018.5650-1-ahassick@iol.unh.edu>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-BeenThere": "ci@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK CI discussions <ci.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/ci>,\n <mailto:ci-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/ci/>", "List-Post": "<mailto:ci@dpdk.org>", "List-Help": "<mailto:ci-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/ci>,\n <mailto:ci-request@dpdk.org?subject=subscribe>", "Errors-To": "ci-bounces@dpdk.org" }, "content": "From: Owen Hilyard <ohilyard@iol.unh.edu>\n\nAdds a yaml file used to define what containers should be built, what\npackages the containers should have, what platforms to build for and how they\nshould be tagged.\n\nAlso adds a JSON schema, which can be used to validate that the\ninventory file is well-formed.\n\nSigned-off-by: Owen Hilyard <ohilyard@iol.unh.edu>\nSigned-off-by: Adam Hassick <ahassick@iol.unh.edu>\n---\n containers/template_engine/inventory.yaml | 476 ++++++++++++++++++\n .../template_engine/inventory_schema.json | 221 ++++++++\n 2 files changed, 697 insertions(+)\n create mode 100644 containers/template_engine/inventory.yaml\n create mode 100644 containers/template_engine/inventory_schema.json", "diff": "diff --git a/containers/template_engine/inventory.yaml b/containers/template_engine/inventory.yaml\nnew file mode 100644\nindex 0000000..be7354e\n--- /dev/null\n+++ b/containers/template_engine/inventory.yaml\n@@ -0,0 +1,476 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright (c) 2023 University of New Hampshire\n+---\n+abi:\n+ # versions should also include the abi versions for all stable ABIs.\n+ versions:\n+ - dpdk_version: # LTS - 2\n+ major: 21\n+ minor: 11\n+ revision: 0\n+ git_tag: \"21.11\"\n+ abi_version:\n+ major: 22\n+ minor: 0\n+ - dpdk_version:\n+ major: 22 # LTS - 1\n+ minor: 11\n+ revision: 1\n+ git_tag: \"tags/v22.11.1\"\n+ abi_version:\n+ major: 23\n+ minor: 10 # .xml comparison\n+ - dpdk_version:\n+ major: 22 # LTS\n+ minor: 11\n+ revision: 1\n+ git_tag: \"tags/v22.11.1\"\n+ abi_version:\n+ major: 23\n+ minor: 11 # .so comparison\n+\n+dockerfiles:\n+ groups:\n+ all:\n+ package_manager_command: \"NO_INSTALL_COMMAND_SET\"\n+ parent: \"NONE\"\n+ packages:\n+ - gcc\n+ - make\n+ - git\n+ - sudo\n+ - curl\n+ - automake\n+ - autoconf\n+ - flex\n+ - bison\n+ - bc\n+ rpm:\n+ parent: \"all\"\n+ package_manager_command: yum install -y\n+ packages:\n+ - diffutils\n+ - pkg-config\n+ - python3\n+ - python3-pip\n+ - librdmacm\n+ - rdma-core-devel\n+ - libmnl-devel\n+ - ccache\n+ - zip\n+ - autoconf\n+ - libbpf-devel\n+ redhat_family:\n+ parent: \"rpm\"\n+ packages: []\n+ fedora:\n+ parent: \"redhat_family\"\n+ packages:\n+ - python3-pyelftools\n+ - zip\n+ - clang\n+ - ninja-build\n+ - elfutils-libelf-devel\n+ - jansson-devel\n+ - libatomic\n+ - libpcap-devel\n+ - numactl-devel\n+ - findutils\n+ - libtool\n+ - elfutils-devel\n+ - libxml2-devel\n+ - libabigail\n+ - openssl-devel\n+ fedora_coverity:\n+ parent: fedora\n+ packages: []\n+ fedora_clang:\n+ parent: fedora\n+ packages: []\n+ centos8:\n+ parent: \"redhat_family\"\n+ packages:\n+ - elfutils-libelf-devel\n+ - jansson-devel\n+ - libatomic\n+ - libpcap-devel\n+ - numactl-devel\n+ - libabigail\n+ - openssl-devel\n+ centos9:\n+ parent: \"redhat_family\"\n+ package_manager_command: \"yum install --allowerasing -y\"\n+ packages:\n+ - elfutils-libelf-devel\n+ - jansson-devel\n+ - libatomic\n+ - libpcap-devel\n+ - numactl-devel\n+ - libtool\n+ - g++\n+ - elfutils-devel\n+ - libxml2-devel\n+ - openssl-devel\n+ rhel:\n+ parent: \"redhat_family\"\n+ package_manager_command: \"yum install -y\"\n+ packages:\n+ - elfutils-libelf-devel\n+ - jansson-devel\n+ - libatomic\n+ - libpcap-devel\n+ - numactl-devel\n+ - openssl-devel\n+ - libabigail\n+ rhel7:\n+ parent: \"rhel\"\n+ packages:\n+ - ninja-build\n+ rhel8:\n+ parent: \"rhel\"\n+ package_manager_command: \"yum --allowerasing install -y\"\n+ packages:\n+ - ninja-build\n+ - libxml2-devel\n+ rhel9:\n+ parent: \"rhel\"\n+ package_manager_command: \"yum --allowerasing install -y\"\n+ packages:\n+ - libxml2-devel\n+ opensuse:\n+ parent: \"rpm\"\n+ package_manager_command: \"zypper install -y\"\n+ packages:\n+ - python3-pyelftools\n+ - ninja\n+ - gzip\n+ - libelf-devel\n+ - libjansson-devel\n+ - librdmacm1\n+ - libatomic1\n+ - libnuma-devel\n+ - libabigail-tools\n+ - tar\n+ - openssl-devel\n+ alpine:\n+ parent: \"all\"\n+ package_manager_command: \"apk add\"\n+ packages:\n+ - bsd-compat-headers\n+ - ccache\n+ - jansson-dev\n+ - libarchive-dev\n+ - libbpf-dev\n+ - libc-dev\n+ - libpcap-dev\n+ - linux-headers\n+ - ninja\n+ - numactl-dev\n+ - openssl-dev\n+ - py3-pip\n+ - py3-elftools\n+ - py3-setuptools\n+ - py3-wheel\n+ - zlib-dev\n+ - python3\n+ - bash\n+ - zip\n+ - meson\n+ arch:\n+ parent: \"all\"\n+ package_manager_command: \"pacman -Syu --noconfirm\"\n+ packages:\n+ - glibc\n+ - cmake\n+ - ninja\n+ - pandoc\n+ - python\n+ - python-docutils\n+ - ethtool\n+ - file\n+ - fakeroot\n+ - pkg-config\n+ - numactl\n+ - elfutils\n+ - gawk\n+ - diffutils\n+ - python-pip\n+ - libabigail\n+ - openssl\n+ - libbpf\n+ debian:\n+ parent: \"all\"\n+ package_manager_command: \"apt-get update && apt-get install --no-install-recommends -y\"\n+ packages:\n+ - libnuma-dev\n+ - zip\n+ - librdmacm1\n+ - libcrypto++-dev\n+ - python3-pyelftools\n+ - libxml2-dev\n+ - libelf-dev\n+ - libpcap-dev\n+ - libjansson-dev\n+ - python3-setuptools\n+ - autoconf\n+ - pkg-config\n+ - libtool\n+ - ccache\n+ - libatomic1\n+ - python3-wheel\n+ - libdw-dev\n+ - rdma-core\n+ - ninja-build\n+ - automake\n+ - librdmacm-dev\n+ - libmnl-dev\n+ - python3-pip\n+ - build-essential\n+ - aspell-en\n+ - parallel\n+ - python3-grpcio\n+ - lcov\n+ - libbpf-dev\n+ - libssl-dev\n+ debian10:\n+ parent: \"debian\"\n+ packages: []\n+ debian11:\n+ parent: \"debian\"\n+ packages:\n+ - nasm\n+ debian11_arm_ipsec:\n+ parent: \"debian11\"\n+ packages: []\n+ ubuntu:\n+ parent: 'debian'\n+ packages: []\n+ ubuntu18.04:\n+ parent: \"ubuntu\"\n+ packages: []\n+ ubuntu20.04:\n+ parent: \"ubuntu\"\n+ packages:\n+ - python3-grpcio\n+ - lcov\n+ - jq\n+ - default-jre\n+ - nodejs\n+ ubuntu22.04:\n+ parent: \"ubuntu\"\n+ packages:\n+ - python3-grpcio\n+ - lcov\n+ - abigail-tools\n+ - jq\n+ ubuntu_cross: # x86 -> ARM\n+ parent: \"ubuntu20.04\"\n+ packages:\n+ - clang\n+ - llvm\n+ - llvm-dev\n+ - llvm-runtime\n+ - lld\n+ - gcc-aarch64-linux-gnu\n+ - libgcc-9-dev-arm64-cross\n+ - libatomic1-arm64-cross\n+ - libc6-dev-arm64-cross\n+ - pkg-config-aarch64-linux-gnu\n+ - dpkg-dev\n+ - gcc-arm-linux-gnueabihf\n+ - libc6-dev-armhf-cross\n+ - pkg-config-arm-linux-gnueabihf\n+ ubuntu_acvp_fips:\n+ parent: \"ubuntu20.04\"\n+ packages:\n+ - nasm\n+ ubuntu_sve:\n+ parent: \"ubuntu20.04\"\n+ packages:\n+ - gcc-10\n+ targets:\n+ # Alpine\n+ - name: alpine_compile\n+ group: \"alpine\"\n+ base_image: alpine\n+ platforms: [linux/amd64, linux/arm64]\n+ force_disable_abi: true\n+ minimum_dpdk_version:\n+ major: 22\n+ minor: 0\n+ revision: 0\n+ extra_information:\n+ amd64_environment_id: 45\n+ arm64_environment_id: 75\n+\n+ # Arch\n+ - name: arch_compile\n+ group: \"arch\"\n+ base_image: archlinux:base\n+ platforms: [linux/amd64]\n+ extra_information:\n+ amd64_environment_id: 26\n+\n+ - name: fedora37_compile\n+ group: \"fedora\"\n+ base_image: fedora:37\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_information:\n+ amd64_environment_id: 69\n+ arm64_environment_id: 70\n+\n+ - name: fedora38_compile\n+ group: \"fedora\"\n+ base_image: fedora:38\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_information:\n+ amd64_environment_id: 71\n+ arm64_environment_id: 72\n+\n+ - name: fedora38_clang\n+ group: \"fedora_clang\"\n+ base_image: fedora:38\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_information:\n+ amd64_environment_id: 73\n+ arm64_environment_id: 74\n+\n+ - name: fedora37_coverity\n+ group: \"fedora_coverity\"\n+ base_image: fedora:37\n+ force_disable_abi: true\n+ requires_coverity: true\n+ platforms: [linux/amd64]\n+\n+ # CentOs\n+ - name: centosstream8_compile\n+ group: \"centos8\"\n+ base_image: quay.io/centos/centos:stream8\n+ platforms: [linux/amd64]\n+ extra_information:\n+ amd64_environment_id: 39\n+\n+ - name: centosstream9_compile\n+ group: \"centos9\"\n+ base_image: quay.io/centos/centos:stream9\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_information:\n+ amd64_environment_id: 53\n+ arm64_environment_id: 63\n+\n+ # RHEL\n+ - name: rhel7_compile\n+ group: \"rhel7\"\n+ base_image: registry.access.redhat.com/ubi7/ubi\n+ platforms: [linux/amd64]\n+ extra_information:\n+ amd64_environment_id: 36\n+\n+ - name: rhel8_compile\n+ group: \"rhel8\"\n+ base_image: registry.access.redhat.com/ubi8/ubi\n+ platforms: [linux/amd64]\n+ extra_information:\n+ amd64_environment_id: 37\n+\n+ - name: rhel9_compile\n+ group: \"rhel9\"\n+ base_image: registry.access.redhat.com/ubi9/ubi\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_information:\n+ amd64_environment_id: 76\n+ arm64_environment_id: 77\n+\n+ # OpenSuse\n+ - name: opensuse-leap15_compile\n+ group: \"opensuse\"\n+ base_image: opensuse/leap:15\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_information:\n+ amd64_environment_id: 25\n+ arm64_environment_id: 67\n+\n+ # Debian\n+ - name: debian10_compile # debian 10\n+ group: \"debian10\"\n+ base_image: \"debian:buster\"\n+ libabigail_revision: libabigail-2.2\n+ platforms: [linux/amd64]\n+ extra_information:\n+ amd64_environment_id: 52\n+\n+ - name: debian11_compile # debian 11\n+ group: \"debian11\"\n+ base_image: \"debian:bullseye\"\n+ libabigail_revision: libabigail-2.2\n+ platforms:\n+ - linux/amd64\n+ - linux/arm64\n+ extra_information:\n+ amd64_environment_id: 51\n+ arm64_environment_id: 64\n+\n+ # Ubuntu\n+ - name: ubuntu20.04_compile\n+ group: \"ubuntu20.04\"\n+ base_image: \"ubuntu:20.04\"\n+ platforms: [linux/amd64, linux/arm64]\n+ extra_tags:\n+ - $R/ubuntu20.04_libabigail:latest\n+ - $R/ubuntu20.04_libabigail:$T\n+ - $R/ubuntu20.04_spell-check:latest\n+ - $R/ubuntu20.04_spell-check:$T\n+ - $R/ubuntu20.04_sonarscanner:latest\n+ - $R/ubuntu20.04_sonarscanner:$T\n+ extra_information:\n+ amd64_environment_id: 38\n+ arm64_environment_id: 62\n+\n+ # x86 -> ARM cross compile\n+ - name: ubuntu20.04_cross\n+ group: \"ubuntu_cross\"\n+ base_image: \"ubuntu:20.04\"\n+ platforms: [linux/amd64]\n+ cross_file: \"config/arm/arm64_armv8_linux_gcc\"\n+ extra_information:\n+ amd64_environment_id: 47\n+\n+ - name: ubuntu20.04_acvp_fips\n+ group: \"ubuntu_acvp_fips\"\n+ base_image: \"ubuntu:20.04\"\n+ platforms: [linux/amd64]\n+ force_disable_abi: true\n+ extra_tags: []\n+ extra_information:\n+ # Using the same environment ID as Ubuntu 20.04\n+ amd64_environment_id: 38\n+\n+ # Also, x86 -> ARM cross compile (for SVE test)\n+ - name: ubuntu20.04_sve_compile\n+ group: \"ubuntu_sve\"\n+ base_image: \"arm64v8/ubuntu:20.04\"\n+ platforms: [linux/arm64]\n+ extra_information:\n+ arm64_environment_id: 46\n+\n+ # TEMPORARY: This has the forked IPsec lib developed by ARM. This causes issues on older LTS versions of DPDK.\n+ # Once all supported and tested LTS versions no longer break when this lib is installed, recombine with debian11_compile.\n+ - name: debian11_arm_ipsec\n+ group: \"debian11_arm_ipsec\"\n+ base_image: \"debian:bullseye\"\n+ platforms: [linux/arm64]\n+ force_disable_abi: true\n+ extra_tags:\n+ - $R/debian11_zuc_compile:latest\n+ - $R/debian11_snow3g_compile:latest\n+ - $R/debian11_zuc_compile:$T\n+ - $R/debian11_snow3g_compile:$T\n+ extra_information:\n+ arm64_environment_id: 58\n+\n+ - name: ubuntu22.04_compile\n+ group: \"ubuntu22.04\"\n+ base_image: \"ubuntu:22.04\"\n+ platforms: [linux/amd64]\n+ extra_information:\n+ amd64_environment_id: 54\ndiff --git a/containers/template_engine/inventory_schema.json b/containers/template_engine/inventory_schema.json\nnew file mode 100644\nindex 0000000..c853287\n--- /dev/null\n+++ b/containers/template_engine/inventory_schema.json\n@@ -0,0 +1,221 @@\n+{\n+ \"$schema\": \"https://json-schema.org/draft-07/schema\",\n+ \"title\": \"dpdklab-ci container inventory schema\",\n+ \"$comment\": \"SPDX-License-Identifier: BSD-3-Clause\\nCopyright (c) 2023 University of New Hampshire\",\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"abi\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"versions\": {\n+ \"type\": \"array\",\n+ \"items\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"dpdk_version\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"major\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The major version number (usually the year of release)\"\n+ },\n+ \"minor\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The minor version number (usually the month of release)\"\n+ },\n+ \"revision\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The revision version number. Starts at 0.\"\n+ },\n+ \"git_tag\": {\n+ \"type\": \"string\",\n+ \"description\": \"The git tag to check out to get this ABI version\"\n+ }\n+ },\n+ \"required\": [\n+ \"major\",\n+ \"minor\",\n+ \"revision\",\n+ \"git_tag\"\n+ ],\n+ \"additionalProperties\": false\n+ },\n+ \"abi_version\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"major\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The major version number (usually the year of release)\"\n+ },\n+ \"minor\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The minor version number (usually the month of release)\"\n+ }\n+ },\n+ \"required\": [\n+ \"major\",\n+ \"minor\"\n+ ],\n+ \"additionalProperties\": false\n+ }\n+ },\n+ \"required\": [\n+ \"dpdk_version\",\n+ \"abi_version\"\n+ ]\n+ },\n+ \"minItems\": 0\n+ }\n+ },\n+ \"required\": [\n+ \"versions\"\n+ ],\n+ \"additionalProperties\": false\n+ },\n+ \"dockerfiles\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"groups\": {\n+ \"type\": \"object\",\n+ \"patternProperties\": {\n+ \"^[a-z][a-z_0-9\\\\.]+$\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"package_manager_command\": {\n+ \"type\": \"string\",\n+ \"description\": \"The command to install packages without user input.\"\n+ },\n+ \"parent\": {\n+ \"type\": \"string\",\n+ \"description\": \"Which group to inherit from, or NONE if no parent exists\"\n+ },\n+ \"packages\": {\n+ \"type\": \"array\",\n+ \"description\": \"A list of package names to install\",\n+ \"items\": {\n+ \"type\": \"string\"\n+ },\n+ \"uniqueItems\": true\n+ }\n+ },\n+ \"required\": [\n+ \"parent\",\n+ \"packages\"\n+ ],\n+ \"additionalProperties\": false\n+ }\n+ },\n+ \"minProperties\": 1\n+ },\n+ \"targets\": {\n+ \"type\": \"array\",\n+ \"items\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"name\": {\n+ \"type\": \"string\",\n+ \"description\": \"The name of the docker container\"\n+ },\n+ \"group\": {\n+ \"type\": \"string\",\n+ \"description\": \"Which group the target is a member of\"\n+ },\n+ \"base_image\": {\n+ \"type\": \"string\",\n+ \"description\": \"The base docker image.\"\n+ },\n+ \"platforms\": {\n+ \"type\": \"array\",\n+ \"description\": \"What platforms to build for\",\n+ \"items\": {\n+ \"type\": \"string\",\n+ \"enum\": [\n+ \"linux/amd64\",\n+ \"linux/arm64\",\n+ \"linux/riscv64\",\n+ \"linux/ppc64le\",\n+ \"linux/arm/v7\",\n+ \"linux/arm/v6\"\n+ ]\n+ },\n+ \"minItems\": 1\n+ },\n+ \"cross_file\": {\n+ \"type\": \"string\",\n+ \"description\": \"A cross file to compile meson with. If not present, meson's automatic behavior will be used.\"\n+ },\n+ \"libabigail_revision\": {\n+ \"type\": \"string\",\n+ \"description\": \"A revision or branch of libabigail to check out before building for a given target.\"\n+ },\n+ \"force_disable_abi\": {\n+ \"type\": \"boolean\",\n+ \"description\": \"Whether to forcibly disable ABI for this target. This should be used as a temporary measure until a fix can be created.\",\n+ \"default\": \"false\"\n+ },\n+ \"requires_coverity\": {\n+ \"type\": \"boolean\",\n+ \"description\": \"Whether this target requires the Coverity Scan binaries.\",\n+ \"default\": \"false\"\n+ },\n+ \"minimum_dpdk_version\": {\n+ \"type\": \"object\",\n+ \"properties\": {\n+ \"major\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The major version number (usually the year of release)\"\n+ },\n+ \"minor\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The minor version number (usually the month of release)\"\n+ },\n+ \"revision\": {\n+ \"type\": \"integer\",\n+ \"description\": \"The revision version number. Starts at 0.\"\n+ }\n+ },\n+ \"required\": [\n+ \"major\",\n+ \"minor\",\n+ \"revision\"\n+ ],\n+ \"additionalProperties\": false\n+ },\n+ \"extra_tags\": {\n+ \"type\": \"array\",\n+ \"description\": \"Tags to apply to this image\",\n+ \"items\": {\n+ \"type\": \"string\",\n+ \"description\": \"$R will be replaced with the 'registry_hostname' variable in this file. $T will be replaced with a timestamp in the form of '%Y-%m-%d'. $N will be replaced by the name of the target.. The tags '$R/$N:latest' and '$R/$N:$T' will always be present\"\n+ }\n+ },\n+ \"extra_information\": {\n+ \"type\": \"object\",\n+ \"description\": \"Extra information to be stored as a JSON file at /container_info.json\",\n+ \"additionalProperties\": true\n+ }\n+ },\n+ \"required\": [\n+ \"name\",\n+ \"group\",\n+ \"base_image\",\n+ \"platforms\"\n+ ],\n+ \"additionalProperties\": false\n+ },\n+ \"minItems\": 1\n+ }\n+ },\n+ \"required\": [\n+ \"groups\",\n+ \"targets\"\n+ ],\n+ \"additionalProperties\": false\n+ }\n+ },\n+ \"required\": [\n+ \"abi\",\n+ \"dockerfiles\"\n+ ],\n+ \"additionalProperties\": false\n+}\n\\ No newline at end of file\n", "prefixes": [ "v9", "2/6" ] }{ "id": 130210, "url": "