public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
From: Luis Chamberlain <mcgrof@kernel.org>
To: Chuck Lever <cel@kernel.org>, Daniel Gomez <da.gomez@kruces.com>,
	kdevops@lists.linux.dev
Cc: Chuck Lever <chuck.lever@oracle.com>
Subject: [PATCH 22/40] bootlinux: Move 9p build tasks to a subrole
Date: Sun, 27 Jul 2025 17:17:41 -0700	[thread overview]
Message-ID: <20250728001800.3188617-23-mcgrof@kernel.org> (raw)
In-Reply-To: <20250728001800.3188617-1-mcgrof@kernel.org>

From: Chuck Lever <chuck.lever@oracle.com>

Most everything that is marked with "when: bootlinux_9p|bool" is
moved to a separate .yml file and then dynamically included when
bootlinux_9p is true. This makes it easy to identify 9p-specific
tasks and ensures they are completely disabled and skipped when
other build modes are in use.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
 playbooks/roles/bootlinux/defaults/main.yml  |   6 -
 playbooks/roles/bootlinux/tasks/build/9p.yml | 205 +++++++++++++++++
 playbooks/roles/bootlinux/tasks/main.yml     | 228 +------------------
 3 files changed, 209 insertions(+), 230 deletions(-)
 create mode 100644 playbooks/roles/bootlinux/tasks/build/9p.yml

diff --git a/playbooks/roles/bootlinux/defaults/main.yml b/playbooks/roles/bootlinux/defaults/main.yml
index 614f7cd8..4a1ad72e 100644
--- a/playbooks/roles/bootlinux/defaults/main.yml
+++ b/playbooks/roles/bootlinux/defaults/main.yml
@@ -41,12 +41,6 @@ uninstall_kernel_enable: False
 bootlinux_b4_am_this_host: False
 
 bootlinux_9p: False
-bootlinux_9p_host_path: "/dev/null"
-bootlinux_9p_msize: 0
-bootlinux_9p_fsdev: "ignore"
-bootlinux_9p_mount_tag: "ignore"
-bootlinux_9p_security_model: "none"
-bootlinux_9p_driver: "virtio-9p-pci"
 
 kdevops_workflow_enable_cxl: False
 
diff --git a/playbooks/roles/bootlinux/tasks/build/9p.yml b/playbooks/roles/bootlinux/tasks/build/9p.yml
new file mode 100644
index 00000000..bc2a66b6
--- /dev/null
+++ b/playbooks/roles/bootlinux/tasks/build/9p.yml
@@ -0,0 +1,205 @@
+---
+- name: Install dependencies to build the Linux kernel
+  delegate_to: localhost
+  run_once: true
+  ansible.builtin.import_tasks:
+    file: install-deps/main.yml
+
+- name: Install b4 on host
+  become: yes
+  become_method: sudo
+  pip:
+    name:
+      - b4
+  when:
+    - target_linux_install_b4 is defined
+    - target_linux_install_b4
+    - ansible_facts['os_family']|lower != 'debian'
+  run_once: true
+  delegate_to: localhost
+
+- name: Add safe exception for a clone
+  command: "git config --global --add safe.directory {{ target_linux_git }}"
+  tags: [ 'clone']
+  when:
+    - target_linux_git is string and target_linux_git.startswith('/')
+  run_once: true
+  delegate_to: localhost
+
+- name: Check if target directory exists when using 9p and Linux CLI was set
+  stat:
+    path: "{{ bootlinux_9p_host_path }}"
+  register: target_directory_stat
+  run_once: true
+  delegate_to: localhost
+  when:
+    - bootlinux_tree_set_by_cli|bool
+
+- name: Fail if target directory does not exist when using 9p and Linux CLI was set
+  fail:
+    msg: "The target directory {{ bootlinux_9p_host_path }} does not exist."
+  run_once: true
+  delegate_to: localhost
+  when:
+    - bootlinux_tree_set_by_cli|bool
+    - not target_directory_stat.stat.exists
+
+- name: git clone {{ target_linux_tree }} on the control node
+  git:
+    repo: "{{ target_linux_git }}"
+    dest: "{{ bootlinux_9p_host_path }}"
+    update: yes
+    depth: "{{ target_linux_shallow_depth }}"
+    version: "{{ target_linux_ref }}"
+  retries: 3
+  delay: 5
+  register: result
+  until: not result.failed
+  tags: [ 'clone']
+  when:
+    - not bootlinux_tree_set_by_cli|bool
+  run_once: true
+  delegate_to: localhost
+
+- name: Copy kernel delta if requested on the control node
+  template:
+    src: "{{ target_linux_extra_patch }}"
+    dest: "{{ bootlinux_9p_host_path }}/{{ target_linux_extra_patch }}"
+    mode: 0644
+  when:
+    - target_linux_extra_patch is defined
+  run_once: true
+  delegate_to: localhost
+
+- name: Apply kernel delta if requested on the control node
+  command: "git am {{ target_linux_extra_patch }}"
+  args:
+    chdir: "{{ bootlinux_9p_host_path }}"
+  when:
+    - target_linux_extra_patch is defined
+  run_once: true
+  delegate_to: localhost
+
+- name: Variable values
+  debug:
+    msg: "{{ target_linux_apply_patch_message_id }}"
+  when:
+    - target_linux_apply_patch_message_id is defined
+
+- name: Apply message patch set if requested on the control node
+  shell: b4 am -o - {{target_linux_apply_patch_message_id}} | git am
+  args:
+    chdir: "{{ bootlinux_9p_host_path }}"
+  when:
+    - target_linux_apply_patch_message_id is defined
+    - target_linux_apply_patch_message_id | length > 0
+    - bootlinux_b4_am_this_host|bool
+  run_once: true
+  delegate_to: localhost
+
+- name: Copy configuration for Linux {{ target_linux_tree }} on the control node
+  template:
+    src: "{{ linux_config }}"
+    dest: "{{ bootlinux_9p_host_path }}/.config"
+    mode: 0644
+  run_once: true
+  delegate_to: localhost
+
+- name: Set kernel localversion if requested on the control node
+  shell: "echo {{ target_linux_localversion }} > {{ bootlinux_9p_host_path }}/localversion"
+  when:
+    - target_linux_localversion is defined and target_linux_localversion != ""
+  run_once: true
+  delegate_to: localhost
+
+- name: Configure Linux {{ target_linux_tree }} on the control node
+  shell: |
+    set -o pipefail
+    yes "" | make oldconfig
+  register: configure_done
+  changed_when: configure_done.rc == 0 or configure_done.rc == 141
+  failed_when: configure_done.rc != 0 and configure_done.rc != 141
+  args:
+    chdir: "{{ bootlinux_9p_host_path }}"
+    executable: /bin/bash
+  run_once: true
+  delegate_to: localhost
+
+- name: Get nproc on the control node
+  command: "{{ num_jobs }}"
+  tags: [ 'build-linux', 'cxl-build' ]
+  register: nproc_9p
+  run_once: true
+  delegate_to: localhost
+
+- name: Get kernelversion
+  make:
+    chdir: "{{ bootlinux_9p_host_path }}"
+    target: kernelversion
+  register: target_linux_kernelversion
+  tags: [ 'build-linux' ]
+  when:
+    - target_linux_kernelrelease | length > 0
+  run_once: true
+  delegate_to: localhost
+
+- name: Generate user kernelrelease {{ target_linux_kernelversion.stdout }}-{{ target_linux_kernelrelease }}
+  set_fact:
+    target_user_kernelrelease: "{{ target_linux_kernelversion.stdout }}-{{ target_linux_kernelrelease }}"
+  tags: [ 'build-linux' ]
+  when:
+    - target_linux_kernelrelease | length > 0
+  run_once: true
+  delegate_to: localhost
+
+- name: Build {{ target_linux_tree }} {{ target_user_kernelrelease }} on the control node using {{ nproc_9p.stdout }} threads
+  make:
+    jobs: "{{ nproc_9p.stdout }}"
+    chdir: "{{ bootlinux_9p_host_path }}"
+    params:
+      KERNELRELEASE={{ target_user_kernelrelease }}
+  tags: [ 'build-linux' ]
+  when:
+    - target_linux_kernelrelease | length > 0
+  run_once: true
+  delegate_to: localhost
+
+- name: Build {{ target_linux_tree }} {{ target_user_kernelrelease }} on the control node using {{ nproc_9p.stdout }} threads
+  make:
+    jobs: "{{ nproc_9p.stdout }}"
+    chdir: "{{ bootlinux_9p_host_path }}"
+  tags: [ 'build-linux' ]
+  when:
+    - target_linux_kernelrelease | length == 0
+  run_once: true
+  delegate_to: localhost
+
+- name: Build {{ target_linux_tree }} cxl_test on the control node using {{ nproc_9p.stdout }} threads
+  make:
+    jobs: "{{ nproc_9p.stdout }}"
+    chdir: "{{ bootlinux_9p_host_path }}"
+    params:
+      M: "tools/testing/cxl"
+  tags: [ 'build-linux', 'cxl-build' ]
+  when:
+    - bootlinux_cxl_test|bool
+  run_once: true
+  delegate_to: localhost
+
+- name: See if snake-oil cert file is present on host
+  stat:
+    path: "{{ bootlinux_9p_host_path }}/certs/signing_key.pem"
+  register: snaik_oil_file_9p
+  tags: [ 'build-linux' ]
+  run_once: true
+  delegate_to: localhost
+
+- name: Ensure we allow world to read the snake oil in case of NFS or 9p read only usage
+  file:
+    path: "{{ bootlinux_9p_host_path }}/certs/signing_key.pem"
+    mode: "0755"
+  tags: [ 'build-linux' ]
+  when:
+    - snaik_oil_file_9p.stat.exists
+  run_once: true
+  delegate_to: localhost
diff --git a/playbooks/roles/bootlinux/tasks/main.yml b/playbooks/roles/bootlinux/tasks/main.yml
index 6a0563b1..2e5d950e 100644
--- a/playbooks/roles/bootlinux/tasks/main.yml
+++ b/playbooks/roles/bootlinux/tasks/main.yml
@@ -19,14 +19,6 @@
   ansible.builtin.import_tasks:
     file: install-deps/main.yml
 
-- name: Install dependencies to build the Linux kernel
-  delegate_to: localhost
-  run_once: true
-  ansible.builtin.import_tasks:
-    file: install-deps/main.yml
-  when:
-    - bootlinux_9p|bool
-
 # We do this regardless of what distro you use
 - name: Install b4
   become: yes
@@ -39,20 +31,6 @@
     - target_linux_install_b4
     - ansible_facts['os_family']|lower != 'debian'
 
-- name: Install b4 on host
-  become: yes
-  become_method: sudo
-  pip:
-    name:
-      - b4
-  when:
-    - target_linux_install_b4 is defined
-    - target_linux_install_b4
-    - bootlinux_9p|bool
-    - ansible_facts['os_family']|lower != 'debian'
-  run_once: true
-  delegate_to: localhost
-
 - name: Set bootlinux_b4_am_this_host as a fact for dev hosts only
   set_fact:
     bootlinux_b4_am_this_host: "{{ ansible_hostname | regex_search('^.*-dev$') is not none }}"
@@ -68,9 +46,7 @@
 - include_role:
     name: create_data_partition
 
-# Distro agnostic stuff to build and boot Linux goes below
-
-- name: Mount bootlinux 9p and add to fstab if it does not exist
+- name: Mount bootlinux 9p on each target node
   become: yes
   become_flags: 'su - -c'
   become_method: sudo
@@ -84,34 +60,11 @@
   when:
     - bootlinux_9p|bool
 
-- name: Add safe exception for a clone
-  command: "git config --global --add safe.directory {{ target_linux_git }}"
-  tags: [ 'clone']
-  when:
-    - bootlinux_9p|bool
-    - target_linux_git is string and target_linux_git.startswith('/')
-  run_once: true
-  delegate_to: localhost
-
-- name: Check if target directory exists when using 9p and Linux CLI was set
-  stat:
-    path: "{{ bootlinux_9p_host_path }}"
-  register: target_directory_stat
-  run_once: true
-  delegate_to: localhost
-  when:
-    - bootlinux_9p|bool
-    - bootlinux_tree_set_by_cli|bool
-
-- name: Fail if target directory does not exist when using 9p and Linux CLI was set
-  fail:
-    msg: "The target directory {{ bootlinux_9p_host_path }} does not exist."
-  run_once: true
-  delegate_to: localhost
+- name: Build the Linux kernel on the controller host
+  ansible.builtin.include_tasks:
+    file: "{{ role_path }}/tasks/build/9p.yml"
   when:
     - bootlinux_9p|bool
-    - bootlinux_tree_set_by_cli|bool
-    - not target_directory_stat.stat.exists
 
 - name: git clone {{ target_linux_tree }} on the target nodes
   git:
@@ -128,24 +81,6 @@
   when:
     - not bootlinux_9p|bool
 
-- name: git clone {{ target_linux_tree }} on the control node
-  git:
-    repo: "{{ target_linux_git }}"
-    dest: "{{ bootlinux_9p_host_path }}"
-    update: yes
-    depth: "{{ target_linux_shallow_depth }}"
-    version: "{{ target_linux_ref }}"
-  retries: 3
-  delay: 5
-  register: result
-  until: not result.failed
-  tags: [ 'clone']
-  when:
-    - bootlinux_9p|bool
-    - not bootlinux_tree_set_by_cli|bool
-  run_once: true
-  delegate_to: localhost
-
 - name: Copy kernel delta if requested on the target nodes
   template:
     src: "{{ target_linux_extra_patch }}"
@@ -157,17 +92,6 @@
     - not bootlinux_9p|bool
     - target_linux_extra_patch is defined
 
-- name: Copy kernel delta if requested on the control node
-  template:
-    src: "{{ target_linux_extra_patch }}"
-    dest: "{{ bootlinux_9p_host_path }}/{{ target_linux_extra_patch }}"
-    mode: 0644
-  when:
-    - bootlinux_9p|bool
-    - target_linux_extra_patch is defined
-  run_once: true
-  delegate_to: localhost
-
 - name: Apply kernel delta if requested on the target nodes
   command: "git am {{ target_linux_extra_patch }}"
   args:
@@ -176,16 +100,6 @@
     - not bootlinux_9p|bool
     - target_linux_extra_patch is defined
 
-- name: Apply kernel delta if requested on the control node
-  command: "git am {{ target_linux_extra_patch }}"
-  args:
-    chdir: "{{ bootlinux_9p_host_path }}"
-  when:
-    - bootlinux_9p|bool
-    - target_linux_extra_patch is defined
-  run_once: true
-  delegate_to: localhost
-
 - name: Set git user name and email if needed
   shell: |
     if ! $(git config --get user.email) ; then
@@ -215,18 +129,6 @@
     - target_linux_apply_patch_message_id | length > 0
     - bootlinux_b4_am_this_host|bool
 
-- name: Apply message patch set if requested on the control node
-  shell: b4 am -o - {{target_linux_apply_patch_message_id}} | git am
-  args:
-    chdir: "{{ bootlinux_9p_host_path }}"
-  when:
-    - bootlinux_9p|bool
-    - target_linux_apply_patch_message_id is defined
-    - target_linux_apply_patch_message_id | length > 0
-    - bootlinux_b4_am_this_host|bool
-  run_once: true
-  delegate_to: localhost
-
 - name: Copy configuration for Linux {{ target_linux_tree }} to the target nodes
   template:
     src: "{{ linux_config }}"
@@ -237,30 +139,12 @@
   when:
     - not bootlinux_9p|bool
 
-- name: Copy configuration for Linux {{ target_linux_tree }} on the control node
-  template:
-    src: "{{ linux_config }}"
-    dest: "{{ bootlinux_9p_host_path }}/.config"
-    mode: 0644
-  when:
-    - bootlinux_9p|bool
-  run_once: true
-  delegate_to: localhost
-
 - name: Set kernel localversion if requested on the target nodes
   shell: "echo {{ target_linux_localversion }} > {{ target_linux_dir_path }}/localversion"
   when:
     - not bootlinux_9p|bool
     - target_linux_localversion is defined and target_linux_localversion != ""
 
-- name: Set kernel localversion if requested on the control node
-  shell: "echo {{ target_linux_localversion }} > {{ bootlinux_9p_host_path }}/localversion"
-  when:
-    - bootlinux_9p|bool
-    - target_linux_localversion is defined and target_linux_localversion != ""
-  run_once: true
-  delegate_to: localhost
-
 - name: Configure Linux {{ target_linux_tree }} on the target nodes
   shell: |
     set -o pipefail
@@ -274,21 +158,6 @@
   when:
     - not bootlinux_9p|bool
 
-- name: Configure Linux {{ target_linux_tree }} on the control node
-  shell: |
-    set -o pipefail
-    yes "" | make oldconfig
-  register: configure_done
-  changed_when: configure_done.rc == 0 or configure_done.rc == 141
-  failed_when: configure_done.rc != 0 and configure_done.rc != 141
-  args:
-    chdir: "{{ bootlinux_9p_host_path }}"
-    executable: /bin/bash
-  when:
-    - bootlinux_9p|bool
-  run_once: true
-  delegate_to: localhost
-
 - name: Build {{ target_linux_tree }} on the target nodes
   command: "{{ target_linux_make_cmd }}"
   register: build
@@ -327,95 +196,6 @@
     - not bootlinux_9p|bool
     - snaik_oil_file.stat.exists
 
-- name: Get nproc on the control node
-  command: "{{ num_jobs }}"
-  tags: [ 'build-linux', 'cxl-build' ]
-  register: nproc_9p
-  when:
-    - bootlinux_9p|bool
-  run_once: true
-  delegate_to: localhost
-
-- name: Get kernelversion
-  make:
-    chdir: "{{ bootlinux_9p_host_path }}"
-    target: kernelversion
-  register: target_linux_kernelversion
-  tags: [ 'build-linux' ]
-  when:
-    - bootlinux_9p|bool
-    - target_linux_kernelrelease | length > 0
-  run_once: true
-  delegate_to: localhost
-
-- name: Generate user kernelrelease {{ target_linux_kernelversion.stdout }}-{{ target_linux_kernelrelease }}
-  set_fact:
-    target_user_kernelrelease: "{{ target_linux_kernelversion.stdout }}-{{ target_linux_kernelrelease }}"
-  tags: [ 'build-linux' ]
-  when:
-    - bootlinux_9p|bool
-    - target_linux_kernelrelease | length > 0
-  run_once: true
-  delegate_to: localhost
-
-- name: Build {{ target_linux_tree }} {{ target_user_kernelrelease }} on the control node using {{ nproc_9p.stdout }} threads
-  make:
-    jobs: "{{ nproc_9p.stdout }}"
-    chdir: "{{ bootlinux_9p_host_path }}"
-    params:
-      KERNELRELEASE={{ target_user_kernelrelease }}
-  tags: [ 'build-linux' ]
-  when:
-    - bootlinux_9p|bool
-    - target_linux_kernelrelease | length > 0
-  run_once: true
-  delegate_to: localhost
-
-- name: Build {{ target_linux_tree }} {{ target_user_kernelrelease }} on the control node using {{ nproc_9p.stdout }} threads
-  make:
-    jobs: "{{ nproc_9p.stdout }}"
-    chdir: "{{ bootlinux_9p_host_path }}"
-  tags: [ 'build-linux' ]
-  when:
-    - bootlinux_9p|bool
-    - target_linux_kernelrelease | length == 0
-  run_once: true
-  delegate_to: localhost
-
-- name: Build {{ target_linux_tree }} cxl_test on the control node using {{ nproc_9p.stdout }} threads
-  make:
-    jobs: "{{ nproc_9p.stdout }}"
-    chdir: "{{ bootlinux_9p_host_path }}"
-    params:
-      M: "tools/testing/cxl"
-  tags: [ 'build-linux', 'cxl-build' ]
-  when:
-    - bootlinux_9p|bool
-    - bootlinux_cxl_test|bool
-  run_once: true
-  delegate_to: localhost
-
-- name: See if snake-oil cert file is present on host
-  stat:
-    path: "{{ bootlinux_9p_host_path }}/certs/signing_key.pem"
-  register: snaik_oil_file_9p
-  tags: [ 'build-linux' ]
-  when:
-    - bootlinux_9p|bool
-  run_once: true
-  delegate_to: localhost
-
-- name: Ensure we allow world to read the snake oil in case of NFS or 9p read only usage
-  file:
-    path: "{{ bootlinux_9p_host_path }}/certs/signing_key.pem"
-    mode: "0755"
-  tags: [ 'build-linux' ]
-  when:
-    - bootlinux_9p|bool
-    - snaik_oil_file_9p.stat.exists
-  run_once: true
-  delegate_to: localhost
-
 - name: Run uname before
   command: "uname -r"
   register: uname_cmd_before
-- 
2.47.2


  parent reply	other threads:[~2025-07-28  0:18 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-28  0:17 [PATCH 00/40] remove vagrant and bootlinux shape up Luis Chamberlain
2025-07-28  0:17 ` [PATCH 01/40] vagrant: remove entire vagrant configuration directory Luis Chamberlain
2025-07-28  0:17 ` [PATCH 02/40] kconfigs: fix Kconfig references after vagrant removal Luis Chamberlain
2025-07-28  0:17 ` [PATCH 03/40] scripts: remove Vagrant-specific scripts and Makefiles Luis Chamberlain
2025-07-28  0:17 ` [PATCH 04/40] playbooks: remove Vagrant-specific playbooks and roles Luis Chamberlain
2025-07-28  0:17 ` [PATCH 05/40] gitignore: remove Vagrant-specific ignore patterns Luis Chamberlain
2025-07-28  0:17 ` [PATCH 06/40] docs: remove Vagrant-specific documentation files Luis Chamberlain
2025-07-28  0:17 ` [PATCH 07/40] Remove all remaining Vagrant references from codebase Luis Chamberlain
2025-07-28  0:17 ` [PATCH 08/40] AuthorDate: Fri Jul 25 14:23:00 2025 -0400 Luis Chamberlain
2025-07-28  0:17 ` [PATCH 09/40] ansible.cfg: Explicitly set the ssh user Luis Chamberlain
2025-07-28  0:24   ` Chuck Lever
2025-07-28  0:27     ` Luis Chamberlain
2025-07-28  0:36       ` Chuck Lever
2025-07-28  0:17 ` [PATCH 10/40] fstests: local NFS list Luis Chamberlain
2025-07-28  0:17 ` [PATCH 11/40] terraform: Clean up the destroy tasks Luis Chamberlain
2025-07-28  0:17 ` [PATCH 12/40] Switch to the cloud.terraform.terraform module Luis Chamberlain
2025-07-28  0:17 ` [PATCH 13/40] terraform: Make use of the new "terraform_output" module Luis Chamberlain
2025-07-28  0:17 ` [PATCH 14/40] terraform: Move "wait_for_connection" out of the terraform playbook Luis Chamberlain
2025-07-28  0:17 ` [PATCH 15/40] terraform: Remove "delegate_to: localhost" Luis Chamberlain
2025-07-28  0:17 ` [PATCH 16/40] terraform: Replace scripts/status_terraform.sh Luis Chamberlain
2025-07-28  0:17 ` [PATCH 17/40] Kconfig: Convert the 9p option to a choice menu Luis Chamberlain
2025-07-28  0:17 ` [PATCH 18/40] bootlinux: fix making 9p default if using libvirt Luis Chamberlain
2025-07-28  0:17 ` [PATCH 19/40] bootlinux: Relocate tasks that select a kernel .config Luis Chamberlain
2025-07-28  0:17 ` [PATCH 20/40] bootlinux: Simplify tasks that select the kernel .config to build Luis Chamberlain
2025-07-28  0:17 ` [PATCH 21/40] bootlinux: Select the kernel .config earlier Luis Chamberlain
2025-07-28  0:17 ` Luis Chamberlain [this message]
2025-07-28  0:17 ` [PATCH 23/40] bootlinux: fix missing make command when using 9P builds Luis Chamberlain
2025-07-28  0:17 ` [PATCH 24/40] guestsfs: ensure linux directory exists Luis Chamberlain
2025-07-28  0:17 ` [PATCH 25/40] bootlinux: Move tasks for building on target nodes to a subrole Luis Chamberlain
2025-07-28  0:17 ` [PATCH 26/40] bootlinux: Clean up a grub set-up task Luis Chamberlain
2025-07-28  0:17 ` [PATCH 27/40] bootlinux: Harden update-grub/install.yml Luis Chamberlain
2025-07-28  0:17 ` [PATCH 28/40] bootlinux: fix grub_boot_number_cmd undefined error in update-grub Luis Chamberlain
2025-07-28  0:17 ` [PATCH 29/40] bootlinux: fix kernel_release_file.stat " Luis Chamberlain
2025-07-28  0:17 ` [PATCH 30/40] Add a guest/instance for building the test kernel Luis Chamberlain
2025-07-28  0:17 ` [PATCH 31/40] bootlinux: Add a new builder choice Luis Chamberlain
2025-07-28  0:17 ` [PATCH 32/40] workflows: Add a kconfig setting for installing kernels via package Luis Chamberlain
2025-07-28  0:17 ` [PATCH 33/40] bootlinux: Enclose tasks to find kernel release name in a block: Luis Chamberlain
2025-07-28  0:17 ` [PATCH 34/40] bootlinux: Pick up kernel release info for pre-built packages Luis Chamberlain
2025-07-28  0:17 ` [PATCH 35/40] bootlinux: Install pre-built kernels from packages Luis Chamberlain
2025-07-28  0:17 ` [PATCH 36/40] bootlinux: Add an option to build with clang instead of gcc Luis Chamberlain
2025-07-28  0:17 ` [PATCH 37/40] Makefile: add make style for style checking Luis Chamberlain
2025-07-28  0:17 ` [PATCH 38/40] CLAUDE.md: new workflow guide for hosts and nodes Luis Chamberlain
2025-07-28  0:17 ` [PATCH 39/40] CLAUDE.md: add don't BS rules Luis Chamberlain
2025-07-28  0:17 ` [PATCH 40/40] gen_nodes/gen_hosts: avoid usage of fs_config_path on task names Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250728001800.3188617-23-mcgrof@kernel.org \
    --to=mcgrof@kernel.org \
    --cc=cel@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=da.gomez@kruces.com \
    --cc=kdevops@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox