Skip to main content

GitHub Actions badge picker for tt-metal workflows

Project description

tt-badger logo

Generate GitHub Actions badge Markdown for tenstorrent/tt-metal workflows and optionally run the tests.

Install

  • pip: pip install tt-badger
  • pipx (recommended for CLIs): pipx install tt-badger

This installs the tt-badger command.

Usage

  • Interactive mode:

    • tt-badger --branch main
    • Press 0–9 to toggle workflows; press Enter to print selected badges
    • Press Esc at the menu to cancel and exit
  • Non-interactive pre-selection (skips the menu):

    • tt-badger -b main --select 1290 (toggles 1, 2, 9, and last)
    • Press Esc at the branch prompt to cancel
  • Auto-dispatch selected workflows (requires GitHub CLI):

    • tt-badger -b my-feature --select 19 --run
    • Uses gh workflow run <workflow> -R tenstorrent/tt-metal --ref <branch> for each selected workflow

If no --select is given, the previously saved selection (from ~/.tt-badges.json) is used as a starting point.

Example output (Markdown):

[![All post-commit tests](https://github.com/tenstorrent/tt-metal/actions/workflows/all-post-commit-workflows.yaml/badge.svg?branch=main)](https://github.com/tenstorrent/tt-metal/actions/workflows/all-post-commit-workflows.yaml)
[![Blackhole post-commit tests](https://github.com/tenstorrent/tt-metal/actions/workflows/blackhole-post-commit.yaml/badge.svg?branch=main)](https://github.com/tenstorrent/tt-metal/actions/workflows/blackhole-post-commit.yaml)

CLI Options

  • -b, --branch <name>: Branch name (e.g., main or feature/foo). Required.
  • -s, --select <digits>: Digits 1–9 (and 0 for the last) to pre-toggle and skip interaction.
  • --run: After printing, dispatch selected workflows via the GitHub CLI (gh).

Requires gh installed and authenticated (gh auth login) to run workflows.

Install GitHub CLI (gh)

macOS:

brew install gh

Linux (Debian/Ubuntu):

type -p curl >/dev/null || sudo apt update && sudo apt install -y curl
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | \
  sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | \
  sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update && sudo apt install -y gh

Linux (Fedora/RHEL/CentOS):

sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install -y gh

Then authenticate: gh auth login

Development

  • Editable install: pip install -e .
  • Run from source:
    • python -m tt_badger.cli -b main
    • or ./badger -b main

Release (CI to PyPI)

  • This repo publishes to PyPI via GitHub Actions using PyPI Trusted Publishing (OIDC) only — no secrets required.
  • On PyPI, add a Trusted Publisher for this repo with workflow path .github/workflows/publish.yml.
  • To release:
    1. Bump __version__ in src/tt_badger/__init__.py and pyproject.toml.
    2. Create a Git tag like v0.1.0 and draft a GitHub Release.
    3. Publish the Release to trigger the PyPI workflow.

License: Apache 2.0 (see LICENSE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tt_badger-0.1.2.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tt_badger-0.1.2-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

File details

Details for the file tt_badger-0.1.2.tar.gz.

File metadata

  • Download URL: tt_badger-0.1.2.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tt_badger-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e12a6649117f8364ac5706b8e5d23fa1170d8b3c9d94a8ee59c35889fa098982
MD5 19576de71905c7c92df41194a2d3d1d5
BLAKE2b-256 2d2201bc59f9f7032042b864d20e7dad932b9d91fb2228715b91d51e0f31975f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_badger-0.1.2.tar.gz:

Publisher: publish.yml on yieldthought/tt-badger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_badger-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: tt_badger-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 14.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for tt_badger-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8ac76a36637114558669396c1d6662a638f76ad7d83f28226e3c8fbb68dd5017
MD5 150d025af341c7ca66e2781e974e3f21
BLAKE2b-256 d9f92c0f8142016f355a3cea6b55b7ecf7bdf72e8d2a6dc9e29eef80756a9ddd

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_badger-0.1.2-py3-none-any.whl:

Publisher: publish.yml on yieldthought/tt-badger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page