get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/129478/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 129478,
    "url": "https://patches.dpdk.org/api/patches/129478/?format=api",
    "web_url": "https://patches.dpdk.org/project/ci/patch/20230711202124.1636317-1-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": "<20230711202124.1636317-1-ahassick@iol.unh.edu>",
    "list_archive_url": "https://inbox.dpdk.org/ci/20230711202124.1636317-1-ahassick@iol.unh.edu",
    "date": "2023-07-11T20:21:18",
    "name": "[v7,0/6] Community Lab Containers and Builder Engine",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "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/20230711202124.1636317-1-ahassick@iol.unh.edu/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/129478/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/129478/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 6512142E4A;\n\tTue, 11 Jul 2023 22:22:00 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5E56140A7D;\n\tTue, 11 Jul 2023 22:22:00 +0200 (CEST)",
            "from mail-qt1-f181.google.com (mail-qt1-f181.google.com\n [209.85.160.181])\n by mails.dpdk.org (Postfix) with ESMTP id 6C91D4003C\n for <ci@dpdk.org>; Tue, 11 Jul 2023 22:21:59 +0200 (CEST)",
            "by mail-qt1-f181.google.com with SMTP id\n d75a77b69052e-4039a2b71c1so29723871cf.0\n for <ci@dpdk.org>; Tue, 11 Jul 2023 13:21:59 -0700 (PDT)",
            "from ahassick-Desktop.iol.unh.edu\n ([2606:4100:3880:1220:714e:bdff:bc40:f34f])\n by smtp.gmail.com with ESMTPSA id\n s19-20020ac85293000000b004035c1062f8sm1470604qtn.10.2023.07.11.13.21.58\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 11 Jul 2023 13:21:58 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=iol.unh.edu; s=unh-iol; t=1689106918; x=1691698918;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=iLrvQ4GecMZkAc0igf9Ds8a8rfnrrDQvNwmM5SsmmVg=;\n b=MVOYh6yUWrjsiyidPWyv7hM8Ej6hc0LqUyrFQ600XXbxs0JpA987himC996dIU8hGO\n /lgC8awhZGy2MChAhBvXbFDmMzDRHca7WwSNp95waROz1+s275SXeoX3El+ce7fu79QS\n mpmNP+VsaPfnGEVcOhff/T/CI0zRgBa/1vXwM=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20221208; t=1689106918; x=1691698918;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=iLrvQ4GecMZkAc0igf9Ds8a8rfnrrDQvNwmM5SsmmVg=;\n b=Vt2XkV6IwV/UpUV/VQMwgm2MvLGJiKcSH/XciH9OCsaERHjFYkiRCJU3Mh9PlQTA4J\n lFrPGWQqFqt7s//uL6k5jH/iMUp6K7Mo61JjuNkRQBb3T87T9jBvi3DI6+Haajhn9x3W\n G6NBTKriZv6LD0B/OXaRGghpYxZlWUGpnjxaiRlrnxVMAAhvlCm3miIj7dioUQf7/tME\n SqvjCR/laoIyXmyxbySZL+SQjez3Xd7ifmnM/CLe5Skz1ESDc+1TF7DI38H8bBeDm9xP\n YESdi//46dwa6LHYqMhSysvLp7DdGjLagNMgBfQvwpXGLAE6ydmBudH67hO0E9U3oa3H\n 0dLg==",
        "X-Gm-Message-State": "ABy/qLaEQ9ZjYAJO5mF4Tl7v44drlmQk2+RAURAYD/RH8TONJtIDf9E+\n KfBlawFo0toeHoFZNrUr2YWC+I77dCodaPLf70NDJAw4k1KrTdMpudYPcHLr9Xnr1vDRq/ACcAF\n JvXiZLZiwdq2Wu9Q4tsWa7pXsM33UJ+cYD72yPoAbk2boARoP4+XCTdZ5dSJiGlQx",
        "X-Google-Smtp-Source": "\n APBJJlGRvDi83Kngna+mFn5+ufMtiCVovIxN0DAwuRab+DYHHyauPQ62ZZfo22vSq8V7IXhcywtPpg==",
        "X-Received": "by 2002:a05:622a:164b:b0:400:8082:2891 with SMTP id\n y11-20020a05622a164b00b0040080822891mr19138719qtj.13.1689106918495;\n Tue, 11 Jul 2023 13:21:58 -0700 (PDT)",
        "From": "Adam Hassick <ahassick@iol.unh.edu>",
        "To": "ci@dpdk.org",
        "Cc": "alialnu@nvidia.com, aconole@redhat.com,\n Adam Hassick <ahassick@iol.unh.edu>",
        "Subject": "[PATCH v7 0/6] Community Lab Containers and Builder Engine",
        "Date": "Tue, 11 Jul 2023 16:21:18 -0400",
        "Message-Id": "<20230711202124.1636317-1-ahassick@iol.unh.edu>",
        "X-Mailer": "git-send-email 2.34.1",
        "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": "This patch series contains a new version of the DPDK CI containers. The old\nversion was tied very tightly to the Community Lab Infrastructure, so it was\nnot suitable for general use. This version is designed to make adding new\nOSes or OS versions as easy as possible. The minimum functionality can easily\nbe built on any system that can compile DPDK. It includes support for\nbuilding containers for other non-native architectures (ex: arm containers\non x86) and for baking ABI references into the images.\n\nThe inventory file as added in this patch series defines what the community lab\ncurrently supports.\n\nIf you want to build these yourself, don't try to do parallel Makefile builds\non non-server hardware. Libabigail is built into the containers, and since it\nis not avaliable in all distros it is compiled from source for many targets.\nIf embedding the abi is enabled (DPDK_CI_CONTAINERS_BUILD_ABI=Y), with the\ncurrent settings, DPDK will be compiled twice for every target in the\ninventory file. This will become three times when DPDK main has ABI stability\nagain. Due to how the containers are constructed, building on non-native\narchitectures is especially expensive because DPDK is compiled with an emulated\ncompiler in a qemu vm that only has one thread.\n\n---\n\nv2:\n* Added poetry.lock\n* Remove duplicates in inventory file\n* Fix typo in base container template\n\nv3:\n* Libabigail is now not built by default unless DPDK_CI_CONTAINERS_BUILD_ABI=y\n* Made minimum podman version 4.0.0 due to dependencies on cache mounts\n\nv4:\n* Fix whitespace errors\n\nv5:\n* Updated container templates and inventory\n* Add support for OCI manifests\n* Update README to reflect changes\n\nv6:\n* Fix spelling errors and whitespace errors\n\nv7:\n* Add workaround to Arch template to install Python packages as root\n* Compare against v4 and polish the patchset\n\nOwen Hilyard (6):\n  * Add README file for containers * Add pyproject file with required\n    dependencies for building containers\n  Adds a yaml file used to define what containers should be built, what\n    packages the containers should have, what platforms to build for and\n    how they should be tagged.\n  This script will template out all of the Dockerfiles based on the\n    definitions provided in the inventory using the jinja2 templating\n    library.\n  Adds a variety of extensible templates used to create the Dockerfiles\n    for each target. All templates inherit from base, and most distros\n    and distro families have their own templates that are used to define\n    common functionality. Multiple versions of a distro may use a single\n    template if they are similar enough (ex: fedora).\n  Adds a container that can be used to run the python scripts to create\n    the Dockerfiles for the CI containers. This removes a large number\n    of python environment dependencies from the host requirements.\n  The Makefile that can be used to build all of the container images\n    using \"make build\", and can also be used to push them to a remote\n    repository (for use in CI).\n\n containers/Makefile                           | 252 ++++++++++\n containers/README.md                          | 178 +++++++\n containers/container_builder.dockerfile       |  26 +\n containers/template_engine/inventory.yaml     | 470 ++++++++++++++++++\n .../template_engine/inventory_schema.json     | 221 ++++++++\n containers/template_engine/make_dockerfile.py | 358 +++++++++++++\n containers/template_engine/poetry.lock        | 220 ++++++++\n containers/template_engine/pyproject.toml     |  21 +\n .../templates/containers.makefile.j2          |  73 +++\n .../templates/containers/alpine.dockerfile.j2 |   3 +\n .../templates/containers/arch.dockerfile.j2   |  39 ++\n .../templates/containers/base.dockerfile.j2   | 120 +++++\n .../containers/centos8.dockerfile.j2          |  21 +\n .../containers/centos9.dockerfile.j2          |  17 +\n .../templates/containers/debian.dockerfile.j2 |   7 +\n .../containers/debian10.dockerfile.j2         |   3 +\n .../containers/debian11.dockerfile.j2         |   3 +\n .../debian11_arm_ipsec.dockerfile.j2          |  16 +\n .../containers/debian_bullseye.dockerfile.j2  |   3 +\n .../containers/debian_buster.dockerfile.j2    |   3 +\n .../templates/containers/fedora.dockerfile.j2 |  11 +\n .../containers/fedora36_clang.dockerfile.j2   |   7 +\n .../containers/fedora_clang.dockerfile.j2     |   8 +\n .../containers/fedora_coverity.dockerfile.j2  |  10 +\n .../containers/opensuse.dockerfile.j2         |  10 +\n .../containers/redhat_family.dockerfile.j2    |   5 +\n .../templates/containers/rhel.dockerfile.j2   |  16 +\n .../templates/containers/rhel7.dockerfile.j2  |  15 +\n .../templates/containers/rhel8.dockerfile.j2  |  15 +\n .../templates/containers/rhel9.dockerfile.j2  |  19 +\n .../templates/containers/rpm.dockerfile.j2    |   3 +\n .../templates/containers/ubuntu.dockerfile.j2 |   3 +\n .../containers/ubuntu20.04.dockerfile.j2      |  12 +\n .../containers/ubuntu22.04.dockerfile.j2      |   3 +\n .../containers/ubuntu_cross.dockerfile.j2     |  11 +\n .../containers/ubuntu_sve.dockerfile.j2       |  12 +\n 36 files changed, 2214 insertions(+)\n create mode 100644 containers/Makefile\n create mode 100644 containers/README.md\n create mode 100644 containers/container_builder.dockerfile\n create mode 100644 containers/template_engine/inventory.yaml\n create mode 100644 containers/template_engine/inventory_schema.json\n create mode 100755 containers/template_engine/make_dockerfile.py\n create mode 100644 containers/template_engine/poetry.lock\n create mode 100644 containers/template_engine/pyproject.toml\n create mode 100644 containers/template_engine/templates/containers.makefile.j2\n create mode 100644 containers/template_engine/templates/containers/alpine.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/arch.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/base.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/centos8.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/centos9.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/debian.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/debian10.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/debian11.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/debian11_arm_ipsec.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/debian_bullseye.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/debian_buster.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/fedora.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/fedora36_clang.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/fedora_clang.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/fedora_coverity.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/opensuse.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/redhat_family.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/rhel.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/rhel7.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/rhel8.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/rhel9.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/rpm.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/ubuntu.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/ubuntu20.04.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/ubuntu22.04.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/ubuntu_cross.dockerfile.j2\n create mode 100644 containers/template_engine/templates/containers/ubuntu_sve.dockerfile.j2",
    "diff": null,
    "prefixes": [
        "v7",
        "0/6"
    ]
}