Add ESLint gate, actions/redact unit tests; fix README release drift.
CI / skip-ci-check (pull_request) Successful in 19s
CI / release (pull_request) Has been skipped
CI / build-and-test (pull_request) Successful in 55s
CI / secret-scan (pull_request) Successful in 17s
CI / selftest (pull_request) Successful in 54s

- README Release section now matches CI reality: tag push publishes to the
  Gitea npm registry AND creates the Gitea release (was described as
  visibility-only, predating the npm publish step).
- ESLint flat config (eslint + typescript-eslint recommended); `npm run lint`
  is now eslint (typecheck stays separate) and CI build-and-test gates on it.
  One real finding fixed: dead import in src/mail/index.ts.
- New vitest coverage for the previously untested src/browser/actions.ts
  (click/fill retries, safeGoto, waitForUrlHost, assertPublicHost, BasePage
  URL building) and src/logging/redact.ts (redactSecrets).
This commit is contained in:
2026-07-26 15:48:31 -04:00
parent c704df85bf
commit fafb1e9676
8 changed files with 1407 additions and 6 deletions
+1 -1
View File
@@ -216,7 +216,7 @@ See `docs/OUTLINE.md`.
2. Update `CHANGELOG.md` with a `## X.Y.Z` section (the release job extracts this verbatim as release notes)
3. Tag `vX.Y.Z` and push
Pushing the tag triggers `.gitea/workflows/ci.yml`'s `release` job: it re-runs typecheck/test/build, verifies the tag matches `package.json`'s `version` and that `CHANGELOG.md` documents it, then creates a Gitea release (with the `npm pack` tarball attached) via the API using a repo-scoped `RELEASE_TOKEN` Actions secret. If any check fails, no release is created — fix and re-tag. Consumers still pin the git tag (`#vX.Y.Z`); the Gitea release is for visibility/changelog, not an npm registry publish (see ROADMAP "private Gitea npm registry").
Pushing the tag triggers `.gitea/workflows/ci.yml`'s `release` job: it re-runs typecheck/test/build, verifies the tag matches `package.json`'s `version` and that `CHANGELOG.md` documents it, then (a) creates a Gitea release with the `npm pack` tarball attached (via `RELEASE_TOKEN`) and (b) **publishes the package to the Gitea npm registry** (`https://git.levkin.ca/api/packages/ilia/npm/`, via `NPM_PUBLISH_TOKEN`, falling back to `RELEASE_TOKEN`). If any check fails, nothing is released or published — fix and re-tag. Consumers install from the registry (`npm install @levkin/playkit@X.Y.Z`, see `docs/NPM_REGISTRY.md`) or pin the git tag (`#vX.Y.Z`) as a fallback.
4. **Update Outline** — `python3 scripts/outline-sync-playkit.py` (checklist: `docs/OUTLINE.md`).