From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5FB673FE5 for ; Wed, 30 Jul 2025 06:01:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=198.137.202.133 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753855311; cv=none; b=GeCJ2F0Ig19yrcBsW1XwM05r5mSb+ECYjZzMBhqz7hgtw5vUZ9OMMNZJo429Dl6sEfq5ivCNQtMX4NU7KZh29WNI39qa9S0I6AZPWEzFtpWe7WLTZ9B9wPCcuTHo8F2A1PWMHeeAew3ASkXJveVpHczPvECz2kQ1df0nx5kRdKE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753855311; c=relaxed/simple; bh=wQrwKyxT/fyOPEVxxRXpe2hZRT83H123fLUMtEB8v3A=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ewSNq0CDtQIHNVc3ZTknrj5rSTtLrQ04T2hoQpww3aiQtZ2nxz32EKY0sWxbntoY7nykegAuzQMAJWWxxjWlnk8oWrurHPU48HlryIyS8ca4PcXJ6Sw1qNZPjdk1goZhG5nmbzxtQW8/TLxxr92pJcFDhdjFj35ok9EmIhc3DkQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org; spf=none smtp.mailfrom=infradead.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b=OthVibKS; arc=none smtp.client-ip=198.137.202.133 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=infradead.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="OthVibKS" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=pU9a8BKn7iojLJIqcjs6TT0kAQN5f4fwg4gBwXFp7dc=; b=OthVibKSEMzm1Ggu+42n/wiI8J GDqWe8lbwF7vzxTNGWVw3TbFdSOgV7DA0ei3cbwtGqOa90YWNtG22B8aW1gh8DjziYn+HROsuHnp5 OoYpg6ykbN1PVfMaAxbvNhOap5o6dCxI/zSAN3wAg9V3Vq/OPGNvxfqTqG5/orYmryGneBw7aARC1 3qUvQSGYUzJOKqjPEMhJSOyF3jTu6F3OTjaF3KApaJ1zSPE3dOTiupOHc0rQxEaFP031lHCjDbY6d ZT4NdgmJHygc3kQVyI5NZFZXXM8E+R5JgwGyTYkvvKAWApFUfgtNVzMK27ynmin2cnBrU8/Auq//i 1poaSLpA==; Received: from mcgrof by bombadil.infradead.org with local (Exim 4.98.2 #2 (Red Hat Linux)) id 1ugzsq-00000000lNw-3Jhd; Wed, 30 Jul 2025 06:01:48 +0000 From: Luis Chamberlain To: Chuck Lever , Daniel Gomez , kdevops@lists.linux.dev Cc: Luis Chamberlain Subject: [PATCH v2 0/9] kdevops: add support for A/B testing Date: Tue, 29 Jul 2025 23:01:36 -0700 Message-ID: <20250730060147.182140-1-mcgrof@kernel.org> X-Mailer: git-send-email 2.49.0 Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: Luis Chamberlain This v2 is rebased on top of the latest changes, and extends support to be more careful. It also now adds a check to ensure we don't regress this. A train of sytling fixes goes with this patchset as we adopt more AI code, as its the only way to keep them on check on styling. Turns out its an art on it own. Luis Chamberlain (9): roles/guestfs: add missing bootlinux_9p: False Makefile: suppress Ansible warnings during configuration generation playbooks: few space cleanups style: add extensive code formatting checks to make style Makefile: move styling to scripts/style.Makefile CLAUDE.md: add instrucitons to verify commit all: run black devconfig: add automatic APT mirror fallback for Debian testing bootlinux: add support for A/B kernel testing .github/workflows/linux-ab-testing.yml | 217 +++++++++ .github/workflows/linux-ab.yml | 47 ++ CLAUDE.md | 10 + Makefile | 18 +- PROMPTS.md | 52 +++ defconfigs/linux-ab-testing | 14 + defconfigs/linux-ab-testing-9p | 15 + defconfigs/linux-ab-testing-builder | 15 + defconfigs/linux-ab-testing-target | 15 + docs/kdevops-make-linux.md | 158 +++++++ playbooks/mmtests.yml | 2 +- .../blktests/augment_expunge_list.py | 95 ++-- .../workflows/blktests/gen-expunge-args.py | 46 +- .../workflows/blktests/gen-results-dir.py | 39 +- .../blktests/get_new_expunge_files.py | 16 +- .../dynamic-kconfig/gen-dynamic-pci.py | 89 ++-- .../workflows/fstests/augment_expunge_list.py | 163 +++++-- .../workflows/fstests/bad_files_summary.py | 46 +- .../fstests/fstests-checktime-distribution.py | 46 +- .../workflows/fstests/gen_results_summary.py | 132 +++--- .../fstests/get_new_expunge_files.py | 24 +- playbooks/python/workflows/fstests/lib/git.py | 21 +- .../workflows/fstests/xunit_merge_all.py | 33 +- .../sysbench/sysbench-tps-compare.py | 84 +++- .../workflows/sysbench/sysbench-tps-plot.py | 36 +- .../sysbench/sysbench-tps-variance.py | 435 +++++++++++++----- playbooks/roles/bootlinux/defaults/main.yml | 14 + playbooks/roles/bootlinux/tasks/build/9p.yml | 20 +- .../install-minimal-deps/debian/main.yml | 2 +- .../tasks/install-minimal-deps/main.yml | 2 +- .../install-minimal-deps/redhat/main.yml | 2 +- .../tasks/install-minimal-deps/suse/main.yml | 2 +- playbooks/roles/bootlinux/tasks/main.yml | 112 +++++ .../devconfig/tasks/check-apt-mirrors.yml | 63 +++ playbooks/roles/devconfig/tasks/main.yml | 8 + .../debian-testing-fallback-sources.list | 10 + .../gen_pcie_passthrough_guestfs_xml.py | 49 +- playbooks/roles/guestfs/defaults/main.yml | 1 + .../linux-mirror/python/gen-mirror-files.py | 131 +++--- .../linux-mirror/python/start-mirroring.py | 116 +++-- .../roles/mmtests/tasks/install-deps/main.yml | 2 +- scripts/check_commit_format.py | 28 +- .../generation/check_for_atomic_calls.py | 71 +-- .../generation/check_for_sleepy_calls.py | 202 +++++--- scripts/detect_indentation_issues.py | 163 +++++++ scripts/detect_whitespace_issues.py | 38 +- scripts/ensure_newlines.py | 75 +++ scripts/fix_indentation_issues.py | 152 ++++++ scripts/fix_whitespace_issues.py | 44 +- scripts/generate_refs.py | 6 +- scripts/honey-badger.py | 103 +++-- scripts/infer_last_stable_kernel.sh | 35 ++ scripts/linux-ab-testing.Makefile | 51 ++ scripts/spdxcheck.py | 201 ++++---- scripts/style.Makefile | 12 + scripts/test-linux-ab-config.py | 182 ++++++++ scripts/test-linux-ab.sh | 213 +++++++++ scripts/update_ssh_config_guestfs.py | 49 +- .../workflows/blktests/blktests_watchdog.py | 75 ++- scripts/workflows/cxl/gen_qemu_cxl.py | 235 +++++++--- scripts/workflows/fstests/fstests_watchdog.py | 99 ++-- scripts/workflows/generic/crash_report.py | 4 +- scripts/workflows/generic/crash_watchdog.py | 78 +++- scripts/workflows/lib/blktests.py | 47 +- scripts/workflows/lib/crash.py | 12 +- scripts/workflows/lib/fstests.py | 155 ++++--- scripts/workflows/lib/kssh.py | 178 ++++--- scripts/workflows/lib/systemd_remote.py | 101 ++-- .../workflows/pynfs/check_pynfs_results.py | 17 +- workflows/linux/Kconfig | 102 +++- workflows/linux/Makefile | 39 ++ 71 files changed, 4049 insertions(+), 1120 deletions(-) create mode 100644 .github/workflows/linux-ab-testing.yml create mode 100644 .github/workflows/linux-ab.yml create mode 100644 defconfigs/linux-ab-testing create mode 100644 defconfigs/linux-ab-testing-9p create mode 100644 defconfigs/linux-ab-testing-builder create mode 100644 defconfigs/linux-ab-testing-target create mode 100644 playbooks/roles/devconfig/tasks/check-apt-mirrors.yml create mode 100644 playbooks/roles/devconfig/templates/debian-testing-fallback-sources.list create mode 100755 scripts/detect_indentation_issues.py create mode 100755 scripts/ensure_newlines.py create mode 100755 scripts/fix_indentation_issues.py create mode 100755 scripts/infer_last_stable_kernel.sh create mode 100644 scripts/linux-ab-testing.Makefile create mode 100644 scripts/style.Makefile create mode 100755 scripts/test-linux-ab-config.py create mode 100755 scripts/test-linux-ab.sh -- 2.47.2