feat(ci): replace the impact-card action with our own brand-styled renderer#4121
Merged
Conversation
…nderer matthewevans/gittensor-impact-action's generic orange/gray template didn't match this site's actual design (DM Sans + Space Grotesk, citron accent, ink surfaces). scripts/gittensor-impact-card.mjs replaces it: same data source (the public api.gittensor.io endpoints), but renders 12-week sparklines (merged PRs, contributors, lines changed) and a meter (emission share) styled with this repo's own tokens, plus the real Gittensor mark and this repo's own icon. Since the workflow no longer runs third-party code, drops the environment: gittensor-impact required-approval gate that existed specifically to gate that untrusted action — the job still runs with contents: write scoped to itself, just no longer needs a human click on every scheduled run. README now embeds a single dark SVG (dropping the light/dark <picture>) since the design is dark-only by choice, not because a light variant is missing.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | e76b853 | Commit Preview URL Branch Preview URL |
Jul 08 2026, 02:21 AM |
Contributor
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4121 +/- ##
=======================================
Coverage 93.65% 93.65%
=======================================
Files 384 384
Lines 35860 35860
Branches 13158 13158
=======================================
Hits 33583 33583
Misses 1618 1618
Partials 659 659 🚀 New features to boost your workflow:
|
|
Important 🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪🟪 🔍 Gittensory is reviewing…AI analysis is in progress. This comment will update when the review is complete. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed · 🟪 Reviewing |
9 tasks
JSONbored
added a commit
that referenced
this pull request
Jul 8, 2026
#4124) #4121 auto-merged before two follow-up fixes could land on that branch (a merge-timing race, not a revert): repo.replace("/", "%2F") only replaces the first slash (works today by luck; encodeURIComponent is the correct general encoding), and api.gittensor.io response values were interpolated into SVG <text> nodes without XML-escaping (Superagent P2 finding on the sibling awesome-claude PR — a future non-numeric API field could break the generated SVG's XML structure).
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
scripts/gittensor-impact-card.mjs, which fetches the same publicapi.gittensor.iodata but renders 12-week sparklines (merged PRs, contributors, lines changed) and a meter (emission share) styled with this repo's real tokens (DM Sans / Space Grotesk, citron accent, ink surfaces fromapps/gittensory-ui/src/styles.css), plus the real Gittensor mark (fetched live fromgittensor.io/gt-logo.svg) and this repo's own new icon (apps/gittensory-ui/public/brand/gittensory-icon-citron.svg, from the brand refresh in feat(ui): rebrand to the new citron G mark and (icon)ittensory wordmark #4119)..github/workflows/gittensor-impact.ymlnow runs our own script instead of the third-party action, and drops theenvironment: gittensor-impactrequired-approval gate — that gate existed specifically because the action was ~1.5-day-old untrusted third-party code; running our own script removes that risk, so the job goes back to fully automatic (stillcontents: writescoped to just the one job).<picture>for a single dark<img>, since the design is dark-only by choice.Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
npm run actionlintgit diff --checknode scripts/gittensor-impact-card.mjs JSONbored/gittensory <file>directly — confirmed real data (893 PRs, 44 contributors, 210k lines, 10.0% emission share) renders correctly into a valid SVG.npm run test:coverage/ui:*— not applicable,scripts/**is excluded from Codecov and this doesn't touchapps/gittensory-ui/**behavior beyond the already-separate brand-refresh PR.Safety