Skip to content

Add component architecture tracking tools#966

Open
grdryn wants to merge 4 commits intomainfrom
multi-arch-tracking
Open

Add component architecture tracking tools#966
grdryn wants to merge 4 commits intomainfrom
multi-arch-tracking

Conversation

@grdryn
Copy link
Contributor

@grdryn grdryn commented Nov 14, 2025

Summary

Adds new tooling to track and report which CPU architectures (amd64, arm64, ppc64le, s390x) each RHOAI component supports.

What's Added

New Directory: script/multi-arch-tracking/

Files:

  • generate-table.py - Main script for generating architecture support tables
  • exceptions.toml - Configuration for tracking exceptions and accelerator incompatibility rules
  • README.md - Comprehensive documentation

Key Features

Multi-format output:

  • Markdown (with clickable Jira links)
  • CSV (with Google Sheets HYPERLINK formulas)
  • Jira wiki markup
  • Plain text tables

Git branch support:

  • Read PipelineRun files from any branch without checkout
  • Example: ./script/multi-arch-tracking/generate-table.py --branch rhoai-3.2

Smart defaults:

  • Auto-detects repository root from script location
  • Auto-locates config file
  • Works from both repository root and script directory

Exception tracking:

  • Accelerator incompatibility rules (CUDA, ROCm, Gaudi, Spyre)
  • Component-specific exceptions with Jira issue references
  • Clear differentiation between "N/A" (incompatible) and issue-tracked exceptions

Usage Examples

# Generate table from current filesystem
./script/multi-arch-tracking/generate-table.py --format markdown

# Generate from specific branch
./script/multi-arch-tracking/generate-table.py --branch rhoai-3.2 --format csv

# Run from script directory
cd script/multi-arch-tracking
./generate-table.py --branch rhoai-3.2

Test Plan

  • Script executes from repository root
  • Script executes from its own directory
  • Auto-detection correctly finds repository root and config
  • Git branch reading works (tested with rhoai-3.2, parsed 71 components)
  • All output formats generate correctly (markdown, csv, jira, text)
  • Exception rules apply correctly (accelerator incompatibility + specific exceptions)
  • Jira links format correctly in all output types

🤖 Generated with Claude Code

@grdryn grdryn force-pushed the multi-arch-tracking branch from c5affaa to 8af056a Compare November 14, 2025 17:06
@grdryn grdryn changed the title Organize multi-arch tracking tools into dedicated directory Add component architecture tracking tools Nov 14, 2025
@grdryn grdryn force-pushed the multi-arch-tracking branch from 8af056a to 4e8bb0e Compare November 14, 2025 17:12
@grdryn
Copy link
Contributor Author

grdryn commented Nov 14, 2025

@wznoinsk Here's the tool & config that I used to generate the multi-arch status table. I'm not sure if this repo is the best place for it or not, but it's only reading data from here, so proposing here.

I know you mentioned something else that would look at Google Sheets. I'm not sure if that's needed with this, but if that part is still useful, note that this can output to CSV that could be imported into Google Sheets, or it could probably be updated to post to Google sheets directly or something like that.

@grdryn grdryn requested a review from wznoinsk November 14, 2025 17:25
@wznoinsk
Copy link
Contributor

hi @grdryn, it's definitively a useful tool to visualize things

my concerns would be:

  1. if it's in konflux-central it would have to be maintained by devops - probably not a good idea since we have such "exceptions" data as part of our monitoring in prometheus, data file at https://gitlab.cee.redhat.com/wznoinsk/rhoai-monitoring/-/blob/main/data/rhoai-release-data.yaml?ref_type=heads
  2. the data in exceptions.toml file would have to be maintained - similar to the above point... the file in rhoai-monitoring repo has to be maintained by devops (and other components maybe in the future) as if there's a difference between what we know is correct vs. what is in konflux-central then we'll get an alert from Prometheus

I don't know the best place for these kind of QoL tools
I created a similiar 'export to smarthseet' tool that is looking at the rhos-release-data.yaml file in rhoai-monitoring gitlab repo linked above (https://gitlab.cee.redhat.com/wznoinsk/rhoai-monitoring/-/blob/main/scripts/export_to_smartsheet.py?ref_type=heads) due to fact it exports all the components data (not just architectures) into a smartsheet

all in all, I'm trying to create tools and data sources only if they are part of a bigger system (e.g.: monitoring, used by one or more teams frequently) as that almost guarantees the data/tool will be kept up to date

@grdryn grdryn force-pushed the multi-arch-tracking branch 3 times, most recently from 44fa18c to 1f4a793 Compare January 15, 2026 11:25
Add a new tool to generate tables showing which CPU architectures each
RHOAI component is built for, organized in script/multi-arch-tracking/:

- generate-table.py: Main script with support for multiple output
  formats (markdown, CSV, Jira, text) and git branch reading
- exceptions.toml: Configuration for architecture exceptions and
  accelerator incompatibility rules
- README.md: Comprehensive documentation with usage examples

Key features:
- Auto-detects repository root and config location
- Reads PipelineRun files from filesystem or git branches (--branch)
- Applies exception rules and accelerator compatibility logic
- Generates tables with Jira issue tracking for exceptions
- Works from both repository root and script directory

Assisted-By: Claude <noreply@anthropic.com>
@grdryn grdryn force-pushed the multi-arch-tracking branch from 7547879 to 57c1184 Compare January 21, 2026 11:03
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.

2 participants