declare tea as a release binary

The dependency this plugin actually wants, and the reason the platform grew
release dependencies: tea is not in any distribution, and Debian has an
unrelated package of that name — a graphical text editor. `packages` is empty
on purpose, because every entry in it would install the wrong program.

`identify` runs `tea --version` and looks for `go-sdk`, which Gitea's CLI
prints and the text editor does not. Bun.which cannot tell them apart, and a
namesake reported as satisfied is worse than one reported missing.

Pinned at 0.15.1 rather than latest: an install that silently fetches whatever
is current is not reproducible.
This commit is contained in:
officer
2026-08-19 08:48:31 +00:00
parent b1b9e2afc3
commit e7f05f66d2
+18
View File
@@ -48,6 +48,24 @@ export const manifest: PluginManifest = {
unauthenticatedPaths: ['/_web/*'],
// `tea` is not in any distribution, and Debian has an UNRELATED package of that name — a graphical
// text editor. So this is a release binary with an identity check: `Bun.which('tea')` cannot tell the
// two apart, and reporting the wrong one as satisfied is worse than reporting it missing.
osDependencies: [
{
binary: 'tea',
reason: 'Pull requests, issues and comments. Plain git handles clones and pushes without it.',
// Empty on purpose. Every entry here would install the text editor.
packages: {},
release: {
url: 'https://dl.gitea.com/tea/0.15.1/tea-0.15.1-{os}-{arch}',
// Gitea's tea prints `Version: 0.9.2 golang: … go-sdk: …`. The text editor prints nothing of
// the sort, and `go-sdk` is the least likely of those to appear in an unrelated tool.
identify: { args: ['--version'], contains: 'go-sdk' },
},
},
],
permissions: [
{
key: 'gitea',