From patchwork Fri Jan 12 22:40:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adam Hassick X-Patchwork-Id: 556 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 BC154438AB; Fri, 12 Jan 2024 23:41:21 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 97EA2402C5; Fri, 12 Jan 2024 23:41:21 +0100 (CET) Received: from mail-oi1-f174.google.com (mail-oi1-f174.google.com [209.85.167.174]) by mails.dpdk.org (Postfix) with ESMTP id B44D3402A9 for ; Fri, 12 Jan 2024 23:41:19 +0100 (CET) Received: by mail-oi1-f174.google.com with SMTP id 5614622812f47-3bbbd4d2b4aso5891868b6e.0 for ; Fri, 12 Jan 2024 14:41:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; t=1705099279; x=1705704079; 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=mjoM63SJlLLB5fzpwbYs9hLFvSqa1+3qSNsZv8cqJOU=; b=er4DIUj1mI4r+V6E86oDii32PLG1mDbnTNx/phJqLiKbWRGqL9RT2bKvnXRUlmJ3xm LXeqbM1dXEtBQz0Iazo1ifDrjng2h5seC13+/43LODCQAcfYxRdJbSbVJw4J6lAuyleJ /UV6cXLi3rY0a+uyjpEHayLFdW/TMt2zR6T5g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705099279; x=1705704079; 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=mjoM63SJlLLB5fzpwbYs9hLFvSqa1+3qSNsZv8cqJOU=; b=ut1TG+mp2FkfT2lc3v7Qqg6C6c+6l+4Gnc4UqjWXS0+mh/IE3lEpO5/CMUuwMhfnrd jxdRsdkVckewqpTDYEryY1XUJHaEF+0jYr0rmH9zq3L6M9U1NuADw0b/wS/4O009tbep 1dzlGsinYWuqVnMkWl9HaN2hwyBoCFmDLcQERx2970O39PiRTcFYkM15kV8lL7KVwjOB hzbSWAV4pzapb+wxUBBwYbT+Y7LOhJuzb/rT9f703NvgO2TGjAheryMW9JI2xszml7KH HYgO0isPDCkvQyxDjGEUHMsCOcOYoLYXq5/wwwUMmZmaRBxx3MpbkJKgUjzPRLmFL9VS AxHA== X-Gm-Message-State: AOJu0Yy+KVtsI8aMv7ONJ9caZmTNCZHHsnBu5k8AXLsYqr8OlJUVhdfR vRhmFWZ5jKsmapuWyetLZKx2/yzCAsreK0BuLyO/eBYOfYZU8vqX0+Ub11/u/rrMzTKz1ofXoN6 FVp+DlXXZ0TD9ggltbEQgfhvMQViuLpfPLAdVU9vKbgP5E5UmivmQWbkzlLBqkPXW1x4roQ== X-Google-Smtp-Source: AGHT+IGWDRgjrIMzUFrOvb+8EpwOcQu3mo1fePVELBXz2l+HCHK+ccNlX5nGk7bbTlxdsfejmAJoZg== X-Received: by 2002:a05:6808:238a:b0:3bc:3168:d387 with SMTP id bp10-20020a056808238a00b003bc3168d387mr2051088oib.93.1705099278735; Fri, 12 Jan 2024 14:41:18 -0800 (PST) Received: from voidcell.iol.unh.edu ([2606:4100:3880:1220:7b65:70b6:505d:49f9]) by smtp.gmail.com with ESMTPSA id v9-20020ac87289000000b004199c98f87dsm1711774qto.74.2024.01.12.14.41.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Jan 2024 14:41:18 -0800 (PST) From: Adam Hassick To: ci@dpdk.org Cc: Adam Hassick Subject: [PATCH v2 0/2] Add a script to create series artifacts Date: Fri, 12 Jan 2024 17:40:12 -0500 Message-ID: <20240112224014.30955-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 Adam Hassick (2): tools: Add script to create artifacts config: Add example config file config/artifacts.yml | 22 ++ tools/create_series_artifact.py | 472 ++++++++++++++++++++++++++++++++ 2 files changed, 494 insertions(+) create mode 100644 config/artifacts.yml create mode 100755 tools/create_series_artifact.py