Skip to content

Add board_introduced field to reusable boards and JSON output#272

Open
igorpecovnik wants to merge 2 commits intomainfrom
add-board-introduced-reusable
Open

Add board_introduced field to reusable boards and JSON output#272
igorpecovnik wants to merge 2 commits intomainfrom
add-board-introduced-reusable

Conversation

@igorpecovnik
Copy link
Copy Markdown
Member

@igorpecovnik igorpecovnik commented Apr 6, 2026

Summary

  • Adds board_introduced year field to all 15 reusable board entries in reusable.yml
  • Updates generate-armbian-images-json.sh to extract INTRODUCED from board configs and board_introduced from reusable.yml, and include it in the JSON output

Test plan

  • Verify JSON generator includes board_introduced for base and reusable boards
  • Spot-check years against known release dates

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 6, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: eecff307-3c89-4a30-bd06-fda6770b13e2

📥 Commits

Reviewing files that changed from the base of the PR and between a859fae and 5f9969b.

📒 Files selected for processing (1)
  • scripts/generate-armbian-images-json.sh

Walkthrough

This PR adds a new board_introduced metadata field to virtual board entries in release-targets/reusable.yml (populated for multiple boards) and updates the image-feed generation pipeline to propagate that field: the Python TSV extraction was extended to emit board_introduced, and scripts/generate-armbian-images-json.sh now reads board_introduced into an associative map and includes it in the generated CSV/JSON output. No control flow or existing artifact-reuse logic is otherwise changed.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title accurately summarizes the main change: adding a board_introduced field to reusable boards and JSON output, which directly reflects the changeset.
Description check ✅ Passed The pull request description is directly related to the changeset, covering the addition of board_introduced field to reusable.yml entries and updates to the JSON generator script.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch add-board-introduced-reusable

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added Needs review Seeking for review 05 Milestone: Second quarter release size/small PR with less then 50 lines labels Apr 6, 2026
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
release-targets/reusable.yml (1)

198-207: ⚠️ Potential issue | 🟡 Minor

Potential inconsistency: slug says CM3 but name and year suggest CM1.

The board_slug is raspberrypicm3 but board_name is "Raspberry Pi CM" and board_introduced is "2014". The original Compute Module (CM1) was released in 2014, while the Compute Module 3 (CM3) was released in 2017.

Please verify whether this entry represents CM1 (2014) or CM3 (2017) and align the slug, name, and year accordingly.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@release-targets/reusable.yml` around lines 198 - 207, The entry is
inconsistent: board_slug "raspberrypicm3" conflicts with board_name "Raspberry
Pi CM" and board_introduced "2014" (CM1); verify which compute module this row
represents and make fields consistent — if it represents the original Compute
Module (CM1) change board_slug to something like "raspberrypicm" or
"raspberrypicm1" and update uses/branch/file_extension if needed; if it
represents Compute Module 3 (CM3) update board_name to "Raspberry Pi Compute
Module 3" and board_introduced to "2017" (and adjust board_slug to
"raspberrypicm3") so that board_slug, board_name, and board_introduced match.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@release-targets/reusable.yml`:
- Around line 35-36: The JSON generator script generate-armbian-images-json.sh
is ignoring the new board_introduced field; update the shell read and Python
print to propagate it: add a new variable (e.g., introduced) to the shell read
invocation that currently reads "slug name vendor support uses branch ext",
ensure any associative array storage used for board metadata also stores
introduced if arrays like board_name/board_vendor exist, and include the new
introduced variable in the Python print() call that emits the seven fields so
the output emits board_introduced as well; modify any downstream consumers to
reference the new associative key if needed.

---

Outside diff comments:
In `@release-targets/reusable.yml`:
- Around line 198-207: The entry is inconsistent: board_slug "raspberrypicm3"
conflicts with board_name "Raspberry Pi CM" and board_introduced "2014" (CM1);
verify which compute module this row represents and make fields consistent — if
it represents the original Compute Module (CM1) change board_slug to something
like "raspberrypicm" or "raspberrypicm1" and update uses/branch/file_extension
if needed; if it represents Compute Module 3 (CM3) update board_name to
"Raspberry Pi Compute Module 3" and board_introduced to "2017" (and adjust
board_slug to "raspberrypicm3") so that board_slug, board_name, and
board_introduced match.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 42e20f77-5460-43e4-bdaf-b634ea0c5f10

📥 Commits

Reviewing files that changed from the base of the PR and between c42597d and a859fae.

📒 Files selected for processing (1)
  • release-targets/reusable.yml

Extract INTRODUCED from board configs and board_introduced from
reusable.yml, and include it in the JSON output for each board.
@igorpecovnik igorpecovnik changed the title Add board_introduced field to reusable board definitions Add board_introduced field to reusable boards and JSON output Apr 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

05 Milestone: Second quarter release Needs review Seeking for review size/small PR with less then 50 lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant