Skip to content

Add GitHub Actions app - #3271

Open
nrkramer wants to merge 1 commit into
tidbyt:mainfrom
nrkramer:add-github-actions-app
Open

Add GitHub Actions app#3271
nrkramer wants to merge 1 commit into
tidbyt:mainfrom
nrkramer:add-github-actions-app

Conversation

@nrkramer

@nrkramer nrkramer commented Sep 6, 2026

Copy link
Copy Markdown

GitHub Actions

CI status for a set of repositories, one row per repo, readable at a glance
from across a room.

Green means the last workflow run passed, red means it failed, amber means a
run is in flight. The header carries the worst state across everything being
watched, so a single glance says whether anything needs attention, and +N
shows how many repos did not fit.

There is a circleci app and a gitlabpipelinestatus app, but nothing for
GitHub Actions, which is what prompted this.

Configuration

  • GitHub token — a fine-grained personal access token.
  • Repositoriesschema.Generated, sourced from the token: the app calls
    /user/repos and renders one checkbox per repository that token can reach,
    most recently pushed first. Nothing to type and nothing to misspell.
  • Other repositories — optional free-text owner/repo list for anything
    past the 60-repo picker limit.
  • Only show problems — hides repositories whose last run passed.

Only Actions: Read-only is required (plus the mandatory Metadata), and the
app never writes anything. Private repositories work.

Rate limits

One request per watched repository cached for 60s, plus one request for the
repository list cached for an hour. With the display showing four rows and a
twelve-repo cap, this stays far inside the 5000 requests/hour budget.

Display notes

  • Rows are sorted worst-first so a failure is always visible.
  • The owner is dropped from each row, and the owner's leading word is dropped
    from the repository name where it repeats it (Acme-Corp/AcmeEngine renders
    as engine). Without this, organization repos sharing a prefix all truncate
    to the same string at 64px and become indistinguishable.
  • No scrolling. A vertical marquee was tried and removed: it leaves the display
    blank for part of its cycle, which defeats the purpose of a glanceable app.
  • With no token configured the app renders a generic sample board for the store
    listing; with a token but nothing selected it says so rather than showing an
    empty screen.

Checks

pixlet check, pixlet lint, pixlet community validate-manifest and
pixlet community validate-icons all pass. Rendered and run against real
public and private repositories, and displayed on hardware.

Shows GitHub Actions status for a set of repositories, one row per
repo, colour-coded by the state of the latest workflow run and sorted
worst-first so a failure is always on screen.

Configuration is driven by the token: schema.Generated calls
/user/repos and renders a checkbox per repository the token can
reach, so there is nothing to type. Works with private repositories
using a fine-grained token with Actions: Read-only.
@tidbyt

tidbyt Bot commented Sep 6, 2026

Copy link
Copy Markdown

⚠️ The automated review process is experimental and likely has bugs. Please bear with us as we iron out the kinks and enable you to ship changes at high velocity 🚀

Next Steps

Hello! Thank you so much for your change 🤜 🤛 . There are a few things you need to do:

  • Sign the CLA if you haven't already
  • Ensure your build is green! Any problem will display a proposed solution to try out
  • Get a review, either by Tidbyt Bot or by a Tidbyt engineer

Manual Review Required

Hang tight! A Tidbyt engineer will be by shortly to review your change. Here is what they will be looking for:

Test Details
App Dir All files are in a single app directory
🟡 Modules Usage of http.star requires review
Original Author The original author matches the PR author

@tidbyt-bot

tidbyt-bot commented Sep 6, 2026

Copy link
Copy Markdown

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@nrkramer

nrkramer commented Sep 6, 2026

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

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