Skip to content

Add PR-time CI for build, lint, and typecheck#48

Merged
Bre77 merged 1 commit into
mainfrom
fm/tst-pr-ci-h6
Jul 12, 2026
Merged

Add PR-time CI for build, lint, and typecheck#48
Bre77 merged 1 commit into
mainfrom
fm/tst-pr-ci-h6

Conversation

@Bre77

@Bre77 Bre77 commented Jul 12, 2026

Copy link
Copy Markdown
Member

Intent

  • Add PR-time CI validation - build/typecheck currently only run during the publish pipeline on pushes to main, so a broken PR merges silently and only fails later at release time (found in the fleet CI audit).
    • Fix: new .github/workflows/ci.yml triggered on pull_request (and push to main) that runs install, lint, build, and typecheck across the monorepo.
    • Setup steps (pnpm version, Node version, pnpm cache) are copied verbatim from .github/workflows/publish.yml so the two workflows stay in sync. publish.yml itself is untouched.
    • Typecheck covers all 4 packages with TS: api, homebridge-teslemetry, n8n-nodes-teslemetry, node-red-contrib-teslemetry via pnpm -r --no-bail tsc, plus a dedicated step for iobroker.teslemetry, whose typecheck script is named check rather than tsc and is silently skipped by the recursive tsc invocation.
    • Lint: reuses the existing root pnpm lint (oxlint .) script - no new lint config added.
    • Scope boundary: this PR only adds CI wiring. It does not touch the publish workflow, lint config, or any package source.

What Changed

  • Added .github/workflows/ci.yml.

Testing

  • Ran every CI step locally against this branch before pushing: pnpm install --frozen-lockfile, pnpm lint, pnpm -r run build, pnpm -r --no-bail tsc, pnpm --filter iobroker.teslemetry check - all green.
  • Will confirm the workflow itself runs green on this PR before merge.
Full narrative / original brief

[E10.1 follow-up, from the fleet CI audit] typescript-teslemetry: add PR-time CI.

The audit found build/typecheck only run during publish on main pushes - there is NO validation on pull requests, so a broken PR merges silently and only fails later in the publish pipeline.

Scope:

  1. Add .github/workflows/ci.yml on pull_request (and push to main): pnpm install, build, and typecheck across the monorepo, covering all four packages that had TS7 failures: api, homebridge-teslemetry, n8n-nodes-teslemetry, iobroker.teslemetry (whose typecheck script is check, not tsc).
  2. Reuse the setup steps (node version, pnpm version, caching) from the existing publish workflow so the two stay consistent - do not modify the publish workflow itself.
  3. Include the oxlint run since a lint script exists in the root package.json; no new lint config.
  4. Verify the workflow runs green on the PR before reporting done.

Build/typecheck previously only ran during the publish pipeline on
pushes to main, so a broken PR could merge silently and only surface
as a failed release later. This adds a pull_request (and push to
main) workflow that installs, lints, builds, and typechecks every
package, mirroring the publish workflow's pnpm/Node setup steps to
keep the two consistent. iobroker.teslemetry's typecheck script is
named `check` rather than `tsc`, so it needs its own step alongside
the `pnpm -r --no-bail tsc` run that covers the other four packages.
@Bre77
Bre77 merged commit db670c2 into main Jul 12, 2026
1 check passed
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.

1 participant