Skip to content

chore: maintenance pass – deps, CI modernization, repo-checker fixes - #1206

Merged
DutchmanNL merged 2 commits into
mainfrom
chore/maintenance-2026-08
Aug 24, 2026
Merged

chore: maintenance pass – deps, CI modernization, repo-checker fixes#1206
DutchmanNL merged 2 commits into
mainfrom
chore/maintenance-2026-08

Conversation

@DutchmanNL

Copy link
Copy Markdown
Collaborator

Summary

Maintenance pass on ioBroker.sourceanalytix. This adapter was already fully modern — Node >=22, @iobroker/adapter-core ^3.4.3, ESLint flat config, jsonConfig admin UI, release-script v5, and npm Trusted Publishing (OIDC) already producing provenance attestations. The repository checker (issue #1197) reports 0 errors, 0 warnings — only the optional suggestion S4047 (add to stable repo).

So this PR is deliberately surgical: it standardizes CI/release tooling to the estate golden template and does light housekeeping, without gratuitously rewriting working config.

Changes

  • .github/workflows/test-and-release.yml
    • Guard concurrency so tag/release runs are never cancelled: group ${{ github.workflow }}-${{ github.ref }}, cancel-in-progress: ${{ !startsWith(github.ref, 'refs/tags/') }} (avoids half-finished releases / W3032).
    • adapter-tests: add timeout-minutes: 30 and strategy.fail-fast: false.
    • Sentry block and id-token: write / Trusted-Publishing deploy preserved as-is.
  • .github/dependabot.yml: add open-pull-requests-limit: 15 (npm + github-actions), ignore typescript semver-minor/major bumps. Existing @types/node semver-major ignore, cooldown, and versioning-strategy: increase preserved.
  • eslint.config.mjs: ignore the local .claude/ tooling directory (a stray local worktree there was the only thing failing lint locally; CI never sees it).
  • .gitignore: ignore .DS_Store (two untracked .DS_Store files were present).
  • README.md: add canonical ### __WORK IN PROGRESS__ changelog section with a maintenance bullet. (CHANGELOG_OLD.md was already linked.)
  • Repo topics (out-of-tree): added iobroker and smart-home to the existing set.

Repo-checker codes addressed

The checker already reported no errors and no warnings. No E###/W### were outstanding to fix.

  • S4047 (add to stable repo): left as a maintainer decision — not addressed here.

Not changed (already compliant)

package.json engines/deps, tsconfig.json, io-package.json (js-controller >=6.0.11 array form, admin >=7.6.20, licenseInformation, tier, titleLang, no materialize), .releaseconfig.json, and automerge-dependabot.yml were all already correct. No runtime dependency needed bumping (adapter-core, cron, iobroker-adapter-helpers all current; TypeScript 7 and @types/node 26 majors are deliberately ignored).

Bot PRs

Human PRs (left untouched)

Local verification

  • npm run lintpass
  • npm run test:packagepass (58 passing)
  • npm run test:integrationpass (adapter boots and stops cleanly: "The adapter starts (5400ms)", 1 passing, js-controller 7.2.3, node v24). An earlier run hung on a fixed-port EADDRINUSE 127.0.0.1:19001 collision caused by many sibling integration harnesses running in parallel on the same machine — an environment artifact, not an adapter/diff issue; the isolated re-run passed.

🤖 Generated with Claude Code

DutchmanNL and others added 2 commits August 24, 2026 11:39
Standardize CI/release tooling to the estate golden template. The repo
was already fully modern (Node>=22, adapter-core ^3.4.3, ESLint flat
config, jsonConfig admin UI, release-script v5, Trusted Publishing), so
these are surgical alignments only:

- test-and-release.yml: guard concurrency so tag/release runs are never
  cancelled (group by workflow+ref, cancel-in-progress only off tags);
  add adapter-tests timeout-minutes 30 and strategy fail-fast: false.
- dependabot.yml: add open-pull-requests-limit 15 (npm + github-actions),
  ignore typescript semver-minor/major bumps.
- eslint.config.mjs: ignore local .claude/ tooling directory.
- .gitignore: ignore .DS_Store.
- README: add WORK IN PROGRESS changelog section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add a top-level `permissions: contents: read` default so the check-and-lint
and adapter-tests jobs no longer run with a broadly-scoped GITHUB_TOKEN
(CodeQL "Workflow does not contain permissions"). The deploy job keeps its
own contents:write + id-token:write override.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@DutchmanNL
DutchmanNL merged commit 0f39926 into main Aug 24, 2026
9 checks passed
@DutchmanNL
DutchmanNL deleted the chore/maintenance-2026-08 branch August 24, 2026 10:14
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