diff --git a/AGENTS.md b/AGENTS.md index f55a7f5..e17800c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -35,7 +35,6 @@ git submodule update --init # contrib/homebrew, the Homebrew tap uv run pytest # full test suite uvx ruff check . # lint (ruff is not a project dependency) uv run beefy-player --list # station ids for the current catalogue -uv run python tools/ansi_art.py ... # regenerate a provider's header art ``` `uvx ruff check .` is the enforced lint and must pass. `ruff format` is **not** @@ -61,7 +60,7 @@ repo-wide reformat as a side effect of an unrelated change. `.forgejo/workflows/release.yml` fires on a `v*` tag: it asserts that the tag, the `pyproject.toml` version and `beefy_player.__version__` all agree, then publishes release notes. It does **not** touch packaging, so run -`tools/bump_packaging.py ` after publishing: it rewrites +`uv run python bump_packaging.py ` after publishing: it rewrites `contrib/aur/PKGBUILD` and regenerates its `.SRCINFO` from it, rewrites the tap formula in `contrib/homebrew`, and with `--commit` commits the tap first and then this repository. Both channels build the sdist attached to the release, diff --git a/README.md b/README.md index cd3d51e..7e39b10 100644 --- a/README.md +++ b/README.md @@ -330,15 +330,12 @@ Each catalogue is a self-contained provider module under `beefy_player/providers/`; `base.py` documents the interface. Every catalogue's header is a wordmark from the shared half-block font, and the header paints it with the active palette gradient (`hero_gradient`, on by default) so all -thirteen follow the terminal's colours. `tools/ansi_art.py` converts a PNG logo -into half-block ANSI art that carries colours of its own; a provider using that -art must set `hero_gradient = False`, because the header would otherwise -repaint it with the gradient. +thirteen follow the terminal's colours. `uvx ruff check .` is the enforced lint. The tree is not `ruff format`-clean (54 files would change), so do not reformat it wholesale. -`tools/bump_packaging.py ` keeps the AUR package and the Homebrew tap +`uv run python bump_packaging.py ` keeps the AUR package and the Homebrew tap formula in step with a release — it rewrites `PKGBUILD`, regenerates `.SRCINFO` from it (no makepkg needed), rewrites the formula, and `--commit`s both. `--check` reports drift without writing. diff --git a/tools/bump_packaging.py b/bump_packaging.py similarity index 97% rename from tools/bump_packaging.py rename to bump_packaging.py index 0e9c04c..b8a0963 100644 --- a/tools/bump_packaging.py +++ b/bump_packaging.py @@ -15,10 +15,10 @@ generated on the fly. The sdist's root directory is hatchling's PEP 503 name Usage: - python tools/bump_packaging.py 1.2.3 # download the release asset - python tools/bump_packaging.py 1.2.3 --asset dist/beefy_player-1.2.3.tar.gz - python tools/bump_packaging.py 1.2.3 --commit # also commit both repos - python tools/bump_packaging.py 1.2.3 --check # verify, write nothing + python bump_packaging.py 1.2.3 # download the release asset + python bump_packaging.py 1.2.3 --asset dist/beefy_player-1.2.3.tar.gz + python bump_packaging.py 1.2.3 --commit # also commit both repos + python bump_packaging.py 1.2.3 --check # verify, write nothing `.SRCINFO` is never edited directly; it is regenerated by evaluating `PKGBUILD` in bash and serialising it in makepkg's field order. That keeps it @@ -106,7 +106,7 @@ done #: Replaces the `_commit`-pinned git-archive source with the release asset. ASSET_SOURCE = ( - "# The sdist attached to the v$pkgver release. tools/bump_packaging.py keeps\n" + "# The sdist attached to the v$pkgver release. bump_packaging.py keeps\n" "# this and sha256sums in step with the tag; build/check/package use\n" "# $_srcname because the sdist unpacks to hatchling's PEP 503 name.\n" '_srcname="beefy_player-$pkgver"\n'