chore: maintenance pass – deps, CI modernization, repo-checker fixes - #1206
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.ymlconcurrencyso 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: addtimeout-minutes: 30andstrategy.fail-fast: false.id-token: write/ Trusted-Publishing deploy preserved as-is..github/dependabot.yml: addopen-pull-requests-limit: 15(npm + github-actions), ignoretypescriptsemver-minor/major bumps. Existing@types/nodesemver-major ignore, cooldown, andversioning-strategy: increasepreserved.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_Storefiles were present).README.md: add canonical### __WORK IN PROGRESS__changelog section with a maintenance bullet. (CHANGELOG_OLD.mdwas already linked.)iobrokerandsmart-hometo the existing set.Repo-checker codes addressed
The checker already reported no errors and no warnings. No E###/W### were outstanding to fix.
Not changed (already compliant)
package.jsonengines/deps,tsconfig.json,io-package.json(js-controller>=6.0.11array form, admin>=7.6.20,licenseInformation,tier,titleLang, no materialize),.releaseconfig.json, andautomerge-dependabot.ymlwere 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
typescript5.9.3 → 7.0.2): superseded — this PR adds a dependabot ignore rule fortypescriptminor/major, so this major bump is intentionally not wanted. Safe to close.Human PRs (left untouched)
Local verification
npm run lint— passnpm run test:package— pass (58 passing)npm run test:integration— pass (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-portEADDRINUSE 127.0.0.1:19001collision 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