CONTRIBUTING: refine steps for running CI tests prior to submission

Message ID 20250321084851.1422405-1-cedric.hombourger@siemens.com
State Superseded, archived
Headers show
Series CONTRIBUTING: refine steps for running CI tests prior to submission | expand

Commit Message

Cedric Hombourger March 21, 2025, 8:48 a.m. UTC
Signed-off-by: Cedric Hombourger <cedric.hombourger@siemens.com>
---
 CONTRIBUTING.md | 36 +++++++++++++++++++++++++++++++++---
 1 file changed, 33 insertions(+), 3 deletions(-)

Comments

Uladzimir Bely March 27, 2025, 10:33 a.m. UTC | #1
On Fri, 2025-03-21 at 12:00 +0100, Cedric Hombourger wrote:
> Changes compared to v1:
>  - introduce ci_setup to reduce the number of manual steps we would
>    require
> 
> Cedric Hombourger (2):
>   CONTRIBUTING: refine steps for running CI tests prior to submission
>   ci: add ci_setup script to ease provisioning of the test container
> 
>  CONTRIBUTING.md     | 41 ++++++++++++++++++++++++++++++++---------
>  scripts/ci_setup.sh | 32 ++++++++++++++++++++++++++++++++
>  2 files changed, 64 insertions(+), 9 deletions(-)
>  create mode 100755 scripts/ci_setup.sh

Applied to next, thanks.

Patch

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index f932417b..06f09aed 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -80,11 +80,16 @@  Plan merges to `master` so that both fit the two-week window; short extensions s
    * It's highly suggested to test your patchset before submitting it to the mailing
      by launching CI tests scripts. The procedure is described below:
 
+    ```
     git clone https://github.com/siemens/kas
     cat > kas.yml <<EOF
     header:
       version: 12
-      build_system: isar
+    build_system: isar
+    defaults:
+      repos:
+        patches:
+          repo: isar
     repos:
       isar:
         url: "http://github.com:/ilbers/isar"
@@ -94,6 +99,7 @@  Plan merges to `master` so that both fit the two-week window; short extensions s
           meta-isar:
     EOF
     kas/kas-container shell kas.yml
+    ```
 
     In kas shell:
 
@@ -102,13 +108,37 @@  Plan merges to `master` so that both fit the two-week window; short extensions s
         |sudo dd of=/etc/apt/trusted.gpg.d/debian-isar.gpg
     echo "deb [signed-by=/etc/apt/trusted.gpg.d/debian-isar.gpg] \
         http://deb.isar-build.org/debian-isar bookworm-isar main" \
-        |sudo /etc/apt/sources.list.d/10-isar_build.list
+        |sudo tee /etc/apt/sources.list.d/10-isar_build.list
     sudo apt-get update
-    sudo apt-get install avocado
+    sudo apt-get install -y avocado qemu-system-arm qemu-system-x86
     cd /work/isar/testsuite
     avocado run citest.py -t dev --max-parallel-tasks=1
     ```
 
+    Your git-formatpatches may be listed in the `kas.yml` file as illustrated below:
+
+    ```
+    ...
+    repos:
+      isar:
+        url: "http://github.com:/ilbers/isar"
+        refspec: master
+	patches:
+          0001:
+            path: /work/0001-my-contribution-to-isar.patch
+        layers:
+          meta:
+          meta-isar:
+    ```
+
+    Perform the above steps from a clean directory for your CI run to be as close as
+    possible to the environment that our project maintainers will be using. That
+    directory would contain: *.patch isar/ kas/ kas.yml
+
+    Be also mindful of community-provided resources such as deb.debian.org or
+    snapshot.debian.org and consider using a caching proxy in your setup to
+    reduce traffic as much as possible.
+
     Active developers may request from maintainers an account on isar-build.org
     to analyze CI logs or to launch their own CI builds there.