Show a cover letter.

GET /api/covers/47/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 47,
    "url": "http://patchwork.dpdk.org/api/covers/47/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/ci/cover/20230811200018.5650-1-ahassick@iol.unh.edu/",
    "project": {
        "id": 5,
        "url": "http://patchwork.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-1-ahassick@iol.unh.edu>",
    "list_archive_url": "https://inbox.dpdk.org/ci/20230811200018.5650-1-ahassick@iol.unh.edu",
    "date": "2023-08-11T20:00:12",
    "name": "[v9,0/6] Community Lab Containers and Builder Engine",
    "submitter": {
        "id": 3127,
        "url": "http://patchwork.dpdk.org/api/people/3127/?format=api",
        "name": "Adam Hassick",
        "email": "ahassick@iol.unh.edu"
    },
    "mbox": "http://patchwork.dpdk.org/project/ci/cover/20230811200018.5650-1-ahassick@iol.unh.edu/mbox/",
    "series": [
        {
            "id": 29199,
            "url": "http://patchwork.dpdk.org/api/series/29199/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/ci/list/?series=29199",
            "date": "2023-08-11T20:00:12",
            "name": "Community Lab Containers and Builder Engine",
            "version": 9,
            "mbox": "http://patchwork.dpdk.org/series/29199/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/47/comments/",
    "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 2545043038;\n\tFri, 11 Aug 2023 22:03:02 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1EF1140F16;\n\tFri, 11 Aug 2023 22:03:02 +0200 (CEST)",
            "from mail-qt1-f196.google.com (mail-qt1-f196.google.com\n [209.85.160.196])\n by mails.dpdk.org (Postfix) with ESMTP id 1396E40144\n for <ci@dpdk.org>; Fri, 11 Aug 2023 22:03:01 +0200 (CEST)",
            "by mail-qt1-f196.google.com with SMTP id\n d75a77b69052e-4103c8157ccso3561351cf.1\n for <ci@dpdk.org>; Fri, 11 Aug 2023 13:03:01 -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.02.59\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 11 Aug 2023 13:03:00 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=iol.unh.edu; s=unh-iol; t=1691784180; x=1692388980;\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=QYgZVmhrpAPXfK91eJ5pZfEVC3ZP9fPp+kEHjbbbrsM=;\n b=XcBAH0gWi1UM2m+9o3fdiw7v6Kh5jXrGEp447wlDzC0ECtj34Ce8xhFS42Xgyq/SVN\n 0ENOWXqvaPEqpPy8pqZKy0BzkPXXaEdcQDiX/i2soMTwyCkUSeAqE2LkPUOrZ25bEcaQ\n RdUpeXO0sPm+Zq0wPmPWOplygG9a9bAi/7T9Q=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20221208; t=1691784180; x=1692388980;\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=QYgZVmhrpAPXfK91eJ5pZfEVC3ZP9fPp+kEHjbbbrsM=;\n b=R/0Y5cgmaksLSgagfSD9D2ecUXtw+bR3gbaN5tuOs4ts1S/TSlop5CrXtCu9dlKX47\n vpyIA0gQBmRtm1N3YIbI6KjKaF1Jq7WWJVnprp24E3A8C2C19zQig7U7aEHQENl0d7G1\n m7/9ek1Y10SSdnyQgUpzxjderLi/wu+0KQ+M94S8wG4X/DPkV9q6kCzSj/kJ3ptAbKxT\n SuiSW8JM/Df0y5+t7d+4d0gTDQHZoex1bOAXc6hyZ2e0D+AesEhBfQKsQmuc/CD9AiNf\n PErCTsbtsQZHg1ZzXDP49ku5LRqRRBgjOzTsoLaxMqVoMCXiRS5VeaY868rsAxK6r/uw\n errg==",
        "X-Gm-Message-State": "AOJu0YwMZngO8trgWTD46wF7Y/FKAt+/bduRRwIUD/MdAmjl+fpogm8a\n sn54m9V0SWe/+89u0kP8SYNUJeuSHNOVmEWp3Txo4nxIowly27oBuAT4QPkLIq47XSKArcg1494\n 5C/WlL1eGilx3yRzXNKEQfXtos2SUxEH2Jb/ACb3S8UcZLj4mYNi99ZFeKp7jFsPAlhvamw==",
        "X-Google-Smtp-Source": "\n AGHT+IFLfyYq3EzK1TP81xvbGJmL56TRB5IDhc2zN13aVwhYDUIyTzJ2HwcKH+9NKiybCumnhA9QDA==",
        "X-Received": "by 2002:ac8:7d94:0:b0:40f:f3d0:2ab6 with SMTP id\n c20-20020ac87d94000000b0040ff3d02ab6mr3785827qtd.6.1691784180374;\n Fri, 11 Aug 2023 13:03:00 -0700 (PDT)",
        "From": "Adam Hassick <ahassick@iol.unh.edu>",
        "To": "ci@dpdk.org",
        "Cc": "aconole@redhat.com, alialnu@nvidia.com,\n Adam Hassick <ahassick@iol.unh.edu>",
        "Subject": "[PATCH v9 0/6] Community Lab Containers and Builder Engine",
        "Date": "Fri, 11 Aug 2023 16:00:12 -0400",
        "Message-ID": "<20230811200018.5650-1-ahassick@iol.unh.edu>",
        "X-Mailer": "git-send-email 2.41.0",
        "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\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\nv8:\n* Fix typos\n* Correct the default for the dpdk-stable clone URL\n\nv9:\n* Add ACVP FIPS container\n* Run template rendering script through black\n* Update copyright years\n* Remove unneeded comments\n\nOwen Hilyard (6):\n  containers/docs: Add container builder start\n  containers/inventory: Add inventory for container builder\n  containers/builder: Dockerfile creation script\n  containers/templates: Templates for Dockerfiles\n  containers/container_builder: Container for python scripts\n  containers/Makefile: Makefile to automate builds\n\n containers/Makefile                           | 250 ++++++++++\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, 2212 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"
}