Skip to content

Conversation

@padovan
Copy link
Contributor

@padovan padovan commented Jul 8, 2025

Add new simple list output format as default for maestro validate builds command. The new format provides a cleaner, more readable view that:

  • Shows tree/branch with ✅/❌ status indicators
  • Lists commit hashes and missing build IDs with clickable links
  • Groups results by tree/branch in history mode
  • Focuses on highlighting discrepancies

Changes:

  • Add print_simple_list() function with history and non-history modes
  • Rename print_stats() to print_table_stats() for clarity
  • Add --table-output option to use original table format
  • Add kci_msg_bold_nonl() helper function for formatted output
  • Update imports in boots.py to use renamed function

The simple list format is now the default, with --table-output available for users who prefer the detailed table view.

Add new simple list output format as default for maestro validate builds
command. The new format provides a cleaner, more readable view that:

- Shows tree/branch with ✅/❌ status indicators
- Lists commit hashes and missing build IDs with clickable links
- Groups results by tree/branch in history mode
- Focuses on highlighting discrepancies

Changes:
- Add print_simple_list() function with history and non-history modes
- Rename print_stats() to print_table_stats() for clarity
- Add --table-output option to use original table format
- Add kci_msg_bold_nonl() helper function for formatted output
- Update imports in boots.py to use renamed function

The simple list format is now the default, with --table-output available
for users who prefer the detailed table view.

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.com>
@padovan padovan requested a review from JenySadadia July 8, 2025 19:02
@aliceinwire aliceinwire merged commit 9d1b334 into kernelci:main Jul 10, 2025
5 checks passed
@JenySadadia
Copy link

I was reviewing the PR yesterday but somehow missed adding a comment here.
I see that tested commit IDs are missing when stats are printed as a list:

$ kci-dev --settings ./kci-dev.toml maestro validate builds --branch master --giturl https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --history
Fetching build information...
mainline/master: ❌
  Commit 8c2e52ebbe88:
  - https://api.kernelci.org/viewer?node_id=686ec17834612746bbbbcbbd
  - https://api.kernelci.org/viewer?node_id=686ec17b34612746bbbbcbc0
  - https://api.kernelci.org/viewer?node_id=686ec17e34612746bbbbcbc3
  - https://api.kernelci.org/viewer?node_id=686ec18134612746bbbbcbd8
  - https://api.kernelci.org/viewer?node_id=686ec18434612746bbbbcbdb
  - https://api.kernelci.org/viewer?node_id=686ec18834612746bbbbcbde
  - https://api.kernelci.org/viewer?node_id=686ec18b34612746bbbbcbe1
  - https://api.kernelci.org/viewer?node_id=686ec18f34612746bbbbcbe4
  - https://api.kernelci.org/viewer?node_id=686ec19234612746bbbbcbe7
  - https://api.kernelci.org/viewer?node_id=686ec19634612746bbbbcbea
  - https://api.kernelci.org/viewer?node_id=686ec19934612746bbbbcbee
  - https://api.kernelci.org/viewer?node_id=686ec19d34612746bbbbcbf1
  - https://api.kernelci.org/viewer?node_id=686ec1a334612746bbbbcbf7
  - https://api.kernelci.org/viewer?node_id=686ec1b134612746bbbbcc03
  - https://api.kernelci.org/viewer?node_id=686ec1b534612746bbbbcc06
  - https://api.kernelci.org/viewer?node_id=686ec1bc34612746bbbbcc0c
  - https://api.kernelci.org/viewer?node_id=686ec1c334612746bbbbcc15
  - https://api.kernelci.org/viewer?node_id=686ec1c734612746bbbbcc18
  - https://api.kernelci.org/viewer?node_id=686ec1cb34612746bbbbcc1b
  - https://api.kernelci.org/viewer?node_id=686ec1d134612746bbbbcc21
  - https://api.kernelci.org/viewer?node_id=686ec1d534612746bbbbcc24
  - https://api.kernelci.org/viewer?node_id=686ec1d934612746bbbbcc28
  - https://api.kernelci.org/viewer?node_id=686ec1dd34612746bbbbcc2c
  - https://api.kernelci.org/viewer?node_id=686ec1e434612746bbbbcc32
  - https://api.kernelci.org/viewer?node_id=686ec1e834612746bbbbcc35
  - https://api.kernelci.org/viewer?node_id=686ec1ec34612746bbbbcc38
  - https://api.kernelci.org/viewer?node_id=686ec1ef34612746bbbbcc3b
  - https://api.kernelci.org/viewer?node_id=686ec1f334612746bbbbcc3e
  - https://api.kernelci.org/viewer?node_id=686ec1f634612746bbbbcc41
  - https://api.kernelci.org/viewer?node_id=686ec1fd34612746bbbbcc4a
  - https://api.kernelci.org/viewer?node_id=686ec20134612746bbbbcc4d
  - https://api.kernelci.org/viewer?node_id=686ec20634612746bbbbcc50
  - https://api.kernelci.org/viewer?node_id=686ec20934612746bbbbcc53
  - https://api.kernelci.org/viewer?node_id=686ec20d34612746bbbbcc56
  - https://api.kernelci.org/viewer?node_id=686ec21134612746bbbbcc59
  - https://api.kernelci.org/viewer?node_id=686ec21534612746bbbbcc5d
  - https://api.kernelci.org/viewer?node_id=686ec21934612746bbbbcc60
  - https://api.kernelci.org/viewer?node_id=686ec21e34612746bbbbcc63
  - https://api.kernelci.org/viewer?node_id=686ec22534612746bbbbcc69
  - https://api.kernelci.org/viewer?node_id=686ec22d34612746bbbbcc6f
  - https://api.kernelci.org/viewer?node_id=686ec23134612746bbbbcc72
  - https://api.kernelci.org/viewer?node_id=686ec23634612746bbbbcc75
  - https://api.kernelci.org/viewer?node_id=686ec23a34612746bbbbcc78
  - https://api.kernelci.org/viewer?node_id=686ec23d34612746bbbbcc7b
  - https://api.kernelci.org/viewer?node_id=686ec24534612746bbbbcc81
  - https://api.kernelci.org/viewer?node_id=686ec24934612746bbbbcc84
  - https://api.kernelci.org/viewer?node_id=686ec24e34612746bbbbcc88

Table view output:

$ kci-dev --settings ./kci-dev.toml maestro validate builds --branch master --giturl https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --history --table-output
Fetching build information...
Creating a stats report...
┌─────────────────┬──────────────────────────────────────────┬───────────┬─────────────┬───────────────┬──────────────────────────────┐
│ tree/branch     │ Commit                                   │   Maestro │   Dashboard │ Build count   │ Missing build IDs            │
│                 │                                          │    builds │      builds │ comparison    │                              │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 17bbde2e1716e2ee4b997d476b48ae85c5a47671 │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 4c06e63b92038fadb566b652ec3ec04e228931e8 │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ c435a4f487e8c6a3b23dafbda87d971d4fd14e0b │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ a79a588fc1761dc12a3064fc2f648ae66cea3c5a │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 05df91921da664ebba2752a7e45b63e3dddb85de │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 1f988d0788f50d8464f957e793fab356e2937369 │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 772b78c2abd85586bb90b23adff89f7303c704c7 │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ d7b8f8e20813f0179d8ef519541a3527e7661d3a │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ d006330be3f782ff3fb7c3ed51e617e01f29a465 │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 733923397fd95405a48f165c9b1fbc8c4b0a4681 │        59 │          59 │ ✅            │ []                           │
├─────────────────┼──────────────────────────────────────────┼───────────┼─────────────┼───────────────┼──────────────────────────────┤
│ mainline/master │ 8c2e52ebbe885c7eeaabd3b7ddcdc1246fc400d2 │        59 │          12 │ ❌            │ ['686ec17834612746bbbbcbbd', │
│                 │                                          │           │             │               │ '686ec17b34612746bbbbcbc0',  │
│                 │                                          │           │             │               │ '686ec17e34612746bbbbcbc3',  │
│                 │                                          │           │             │               │ '686ec18134612746bbbbcbd8',  │
│                 │                                          │           │             │               │ '686ec18434612746bbbbcbdb',  │
│                 │                                          │           │             │               │ '686ec18834612746bbbbcbde',  │
│                 │                                          │           │             │               │ '686ec18b34612746bbbbcbe1',  │
│                 │                                          │           │             │               │ '686ec18f34612746bbbbcbe4',  │
│                 │                                          │           │             │               │ '686ec19234612746bbbbcbe7',  │
│                 │                                          │           │             │               │ '686ec19634612746bbbbcbea',  │
│                 │                                          │           │             │               │ '686ec19934612746bbbbcbee',  │
│                 │                                          │           │             │               │ '686ec19d34612746bbbbcbf1',  │
│                 │                                          │           │             │               │ '686ec1a334612746bbbbcbf7',  │
│                 │                                          │           │             │               │ '686ec1b134612746bbbbcc03',  │
│                 │                                          │           │             │               │ '686ec1b534612746bbbbcc06',  │
│                 │                                          │           │             │               │ '686ec1bc34612746bbbbcc0c',  │
│                 │                                          │           │             │               │ '686ec1c334612746bbbbcc15',  │
│                 │                                          │           │             │               │ '686ec1c734612746bbbbcc18',  │
│                 │                                          │           │             │               │ '686ec1cb34612746bbbbcc1b',  │
│                 │                                          │           │             │               │ '686ec1d134612746bbbbcc21',  │
│                 │                                          │           │             │               │ '686ec1d534612746bbbbcc24',  │
│                 │                                          │           │             │               │ '686ec1d934612746bbbbcc28',  │
│                 │                                          │           │             │               │ '686ec1dd34612746bbbbcc2c',  │
│                 │                                          │           │             │               │ '686ec1e434612746bbbbcc32',  │
│                 │                                          │           │             │               │ '686ec1e834612746bbbbcc35',  │
│                 │                                          │           │             │               │ '686ec1ec34612746bbbbcc38',  │
│                 │                                          │           │             │               │ '686ec1ef34612746bbbbcc3b',  │
│                 │                                          │           │             │               │ '686ec1f334612746bbbbcc3e',  │
│                 │                                          │           │             │               │ '686ec1f634612746bbbbcc41',  │
│                 │                                          │           │             │               │ '686ec1fd34612746bbbbcc4a',  │
│                 │                                          │           │             │               │ '686ec20134612746bbbbcc4d',  │
│                 │                                          │           │             │               │ '686ec20634612746bbbbcc50',  │
│                 │                                          │           │             │               │ '686ec20934612746bbbbcc53',  │
│                 │                                          │           │             │               │ '686ec20d34612746bbbbcc56',  │
│                 │                                          │           │             │               │ '686ec21134612746bbbbcc59',  │
│                 │                                          │           │             │               │ '686ec21534612746bbbbcc5d',  │
│                 │                                          │           │             │               │ '686ec21934612746bbbbcc60',  │
│                 │                                          │           │             │               │ '686ec21e34612746bbbbcc63',  │
│                 │                                          │           │             │               │ '686ec22534612746bbbbcc69',  │
│                 │                                          │           │             │               │ '686ec22d34612746bbbbcc6f',  │
│                 │                                          │           │             │               │ '686ec23134612746bbbbcc72',  │
│                 │                                          │           │             │               │ '686ec23634612746bbbbcc75',  │
│                 │                                          │           │             │               │ '686ec23a34612746bbbbcc78',  │
│                 │                                          │           │             │               │ '686ec23d34612746bbbbcc7b',  │
│                 │                                          │           │             │               │ '686ec24534612746bbbbcc81',  │
│                 │                                          │           │             │               │ '686ec24934612746bbbbcc84',  │
│                 │                                          │           │             │               │ '686ec24e34612746bbbbcc88']  │
└─────────────────┴──────────────────────────────────────────┴───────────┴─────────────┴───────────────┴──────────────────────────────┘

@JenySadadia
Copy link

It would be nice to print a number of missing builds:

$ kci-dev --settings ./kci-dev.toml maestro validate builds --all-checkouts
Fetching build information...
• amlogic/for-next: ✅
  Commit: 58abdca0eb653c1a2e755ba9ba406ee475d87636

• android/android12-5.10-lts: ✅
  Commit: ee288aaf557ca623d6faa45eaa01e46b3369b7b7

• android/android13-5.15: ❌
  Commit: 73935878205ff4cd600f201e80e188ae7119071d
  Missing builds:
  - https://api.kernelci.org/viewer?node_id=686ea50034612746bbbba074
  - https://api.kernelci.org/viewer?node_id=686ea51534612746bbbba089
  - https://api.kernelci.org/viewer?node_id=686ea51834612746bbbba08c

• android/android13-5.15-lts: ✅
  Commit: 32c443bd6d40c4d3b916bbf787c2eabbc51d4c94

• android/android14-5.15: ❌
  Commit: b784e3283efe88e198d7048b809ffff183a217de
  Missing builds:
  - https://api.kernelci.org/viewer?node_id=686ea53a34612746bbbba10c
  - https://api.kernelci.org/viewer?node_id=686ea55a34612746bbbba135
  - https://api.kernelci.org/viewer?node_id=686ea56e34612746bbbba19d
  - https://api.kernelci.org/viewer?node_id=686ea58534612746bbbba1b5
  - https://api.kernelci.org/viewer?node_id=686ea59e34612746bbbba20f
  - https://api.kernelci.org/viewer?node_id=686ea5a234612746bbbba21c
  - https://api.kernelci.org/viewer?node_id=686ea5a634612746bbbba21f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants