From patchwork Thu Jan 18 23:41:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Hassick X-Patchwork-Id: 567 Return-Path: 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]) by inbox.dpdk.org (Postfix) with ESMTP id 42446438F8; Fri, 19 Jan 2024 00:42:10 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C33840274; Fri, 19 Jan 2024 00:42:10 +0100 (CET) Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) by mails.dpdk.org (Postfix) with ESMTP id 6E4614026F for ; Fri, 19 Jan 2024 00:42:09 +0100 (CET) Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-783182d4a0aso17689985a.2 for ; Thu, 18 Jan 2024 15:42:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1705621328; x=1706226128; darn=dpdk.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=ON8+MqlDbet4pa9rN0QD2vPJdsbnjJctBceV8imTz8U=; b=EvRCmOLwK1ImG+Jfvz5uP4yzn/L+W6X1S10DYJ0cX+JyeRSxEyuXH0ylclq+epq/gy UajwnPrWS4yUHqPOrWZD4BcNCv9hQcGV7k8bUmSJSQEo2Um09X1q/Xzj7g6g7457cRQj CHl06FvvBSFXtMBHopeFs+qEUAGPP4iFUiAdQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705621328; x=1706226128; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ON8+MqlDbet4pa9rN0QD2vPJdsbnjJctBceV8imTz8U=; b=JHuWmOdVp+WODaayXM0SO11XuVivRPDnJK43PdZVhMPV97L6nr4PRZwv0r7ULdhvFp 8dOsBG4R34d352MY5g2H1nNbcFS7MSgXr9sqxBBGED2zj2cg6qevULgiqMtbwSjbCPIe 1tEVybJZmQhKDdwCF1khN6wE1oyN0PrR7w5zUYZZ8u+YUY/U3m98TIyfx8qr4g4xcK/u QEGrfSG/qXx1Mna/+A937froIlnuJKwNXSgawLNdjezLmgERmUggHGpXP5aj2GvkAdgz uX0IsWCIATVaXMs607SEwdrGHn9lD5ADzqCqHMOJsFfmazeXqwpsv2gmvCzFQ4cZeMAV mpDQ== X-Gm-Message-State: AOJu0YxnBNK+05Fw1vJVg1IdXHN8wc9rVNLUNVEd0e1HAsTA0prf0C7n gYHN7osbYA5eBSk2r6ILW3YWHkmIlB938kcJfs78N0bkK9GiR9PaKR8MjLPaG3H+gEGWPvG6+ah aVkFriAlPt5atUP8VtXRY9E3ukfRlwHCN1yYL+zA4mgApI9PcOEN+2ssVHeaRV34pg5P3bSoJmS umN4xSzoQue8Gom9pUeaiAZQpmXQ== X-Google-Smtp-Source: AGHT+IFqRqx71evSVSevLDOSrR4l+7kadeNw+0FgfTjjsjNcPn3ADIVcNpf7GyKL9YC6aMLRsihpXQ== X-Received: by 2002:a05:620a:1367:b0:783:524d:e05d with SMTP id d7-20020a05620a136700b00783524de05dmr449931qkl.63.1705621328604; Thu, 18 Jan 2024 15:42:08 -0800 (PST) Received: from pogmachine2.loudonlune.net ([216.212.51.182]) by smtp.gmail.com with ESMTPSA id oq6-20020a05620a610600b0078334ada139sm5625641qkn.7.2024.01.18.15.42.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jan 2024 15:42:08 -0800 (PST) From: Adam Hassick To: ci@dpdk.org Cc: Adam Hassick Subject: [PATCH v3 0/3] Add a script to create series artifacts Date: Thu, 18 Jan 2024 18:41:17 -0500 Message-ID: <20240118234120.29256-1-ahassick@iol.unh.edu> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-BeenThere: ci@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK CI discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ci-bounces@dpdk.org The process of applying patches and bundling the source code into an archive varies across testing labs. Historically, the process for applying patches at the Community Lab was not visible to the broader community and was inextricable from lab infrastructure. The new script introduced in this patch aims to resolve these issues. This script is intended to serve as a reference process for creating series artifacts. A "series artifact" is an archive containing a copy of the DPDK source code with a patch series applied. We perform a test build prior to creating the archive as well. At the Community Lab, these archives are used for all of our tests. At the time of writing, this script is being used in production. The script depends on the "pw_maintainers_cli" and patch parser scripts in the CI repository. It also depends on pygit2 for managing the DPDK repository, pyyaml for parsing the configuration file, and git_pw for pulling in the series as a patch file. This script does not implement handling of the dependency labels. There is an ongoing effort to get this implemented into Patchwork as a feature. --- v1: * Add script to create artifacts * Add example config file v2: * Add a branch mapping from tree names to branches on GitHub * Untangled dataclass and argument parsing code * Add retry loop around cloning the repository * Removed a couple subprocess calls * Add an example to the description text v3: * Split parse_args into two distinct functions * Refactor set_properties and its calls * Add doc directory * Add document describing the create artifact script * Add SPDX license specifiers Adam Hassick (3): tools: Add script to create artifacts config: Add example config file doc: Add documentation config/artifacts.yml | 24 ++ doc/create_series_artifact.rst | 103 +++++++ tools/create_series_artifact.py | 468 ++++++++++++++++++++++++++++++++ 3 files changed, 595 insertions(+) create mode 100644 config/artifacts.yml create mode 100644 doc/create_series_artifact.rst create mode 100755 tools/create_series_artifact.py