feat: write badge JSON instead of rendering SVG via pybadges - #62
Merged
Conversation
Badge SVG rendering moves out of MATLAB: testToolbox and codecheckToolbox now write badge descriptions as JSON files to docs/reports/badges/, and the matbox-actions check-code/test-code actions render them to .github/badges/*.svg with badge-maker, the shields.io reference implementation. This removes the runtime dependency on Python, pip, and the deprecated pybadges package. - createBadgeSvg is deprecated (kept for backward compatibility) - matbox.py namespace is retained; it is useful for downstream toolboxes with Python requirements - MatBox's own CI migrates from the legacy internal actions (@v0.9) to the matbox-actions@v1 reusable test workflow; the duplicate internal actions and reusable workflows are deleted from main (tag-pinned @v0.9 consumers are unaffected) - tools/tasks/codecheckToolbox wrapper accepts varargin, required because the v1 check-code action forwards name-value arguments Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Test Results24 tests 24 ✅ 24s ⏱️ Results for commit acb6e4e. ♻️ This comment has been updated with latest results. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #62 +/- ##
==========================================
+ Coverage 42.02% 44.75% +2.72%
==========================================
Files 59 61 +2
Lines 1468 1524 +56
==========================================
+ Hits 617 682 +65
+ Misses 851 842 -9 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Repositories pinned to older matbox-actions refs still install the latest MatBox, so unconditionally switching to badge JSON would leave their committed badges silently stale (nothing renders the JSON). Badge creation now writes JSON only when MATBOX_BADGE_FORMAT=json, which current matbox-actions set; otherwise it falls back to the legacy pybadges SVG path. Every action/MatBox version combination keeps producing badges, and merge order no longer matters. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes the runtime dependency on Python, pip, and the deprecated
pybadgespackage by moving badge SVG rendering out of MATLAB. Supersedes #47.MATBOX_BADGE_FORMAT=jsonenvironment variable is set (current matbox-actions set it — feat: render SVG badges from MatBox badge JSON with badge-maker matbox-actions#8),testToolboxandcodecheckToolboxwrite badge descriptions as JSON (docs/reports/badges/*.json) and CI renders them to.github/badges/*.svgwith badge-maker, the shields.io reference implementation (CC0, local render, no external service)createBadgeSvgis deprecated but remains as the fallback; thematbox.pynamespace is retained — it is independently useful for downstream toolboxes with Python requirementsmatbox-actions@v1reusable test workflow; the duplicate internal actions and reusable workflows are deleted from main (repositories pinned to@v0.9resolve via the tag and keep working through the pybadges fallback)tools/tasks/codecheckToolboxwrapper now acceptsvarargin, required because the v1check-codeaction forwards name-value arguments to wrappersTests
New
TasksTestcase setsMATBOX_BADGE_FORMAT=jsonand verifiescodecheckToolboxwritescode_issues.jsonwith the expected label and a valid color. FullTasksTestsuite passes locally (5/5).The legacy pybadges path can be deleted in a future major release once older matbox-actions refs are retired. Expect a one-time badge-churn commit in downstream repos on first run with both changes (badge-maker's markup differs slightly from pybadges'; visually equivalent).
🤖 Generated with Claude Code