- name
- verify-version-alignment
- description
- Verify that package, Docker build, test utility helper, docs update JSON files, and Docker workflow tags match the expected root version rules. v.1.0.0
# Verify that package, Docker build, test utility helper, docs update JSON files, and Docker workflow tags match the expected root version rules
Verify version alignment in this repository using [package.json](../../../package.json) as the source of truth.
Execution rules:
- Do not run repository scripts or automation scripts for this verification.
- Perform the check manually by reading and comparing file contents directly.
- After applying any fix, re-read the affected files from disk and report the final on-disk values.
Checks:
- Read the root version from [package.json](../../../package.json).
- Verify every real workspace package under [packages](../../../packages) has the same `version` as the root package version.
- Ignore mock plugin manifests under `packages/core/src/mock/**` unless explicitly asked for them.
- Verify all `@matterbridge/*` entries in the root [package.json](../../../package.json) `dependencies` block are pinned to the root package version.
- Verify all `--build-arg CACHE_VERSION=x.y.z` values in the root [package.json](../../../package.json) `scripts` block match the root package version.
- Verify [.dockerbuild.json](../../../.dockerbuild.json) has a `version` field equal to the root package version.
- Verify [packages/jest-utils/src/jestMatterTest.ts](../../../packages/jest-utils/src/jestMatterTest.ts) sets `getPlatformMatterbridge().matterbridgeVersion`, `getPlatformMatterbridge().matterbridgeLatestVersion` and `getPlatformMatterbridge().matterbridgeDevVersion` to the root package version, and sets `getPlatformMatterbridge().frontendVersion` to the [apps/frontend/package.json](../../../apps/frontend/package.json) version.
- Verify [packages/vitest-utils/src/vitestMatterTest.ts](../../../packages/vitest-utils/src/vitestMatterTest.ts) sets `getPlatformMatterbridge().matterbridgeVersion`, `getPlatformMatterbridge().matterbridgeLatestVersion` and `getPlatformMatterbridge().matterbridgeDevVersion` to the root package version, and sets `getPlatformMatterbridge().frontendVersion` to the [apps/frontend/package.json](../../../apps/frontend/package.json) version.
- Verify [packages/test-utils/src/jest/matterTest.ts](../../../packages/test-utils/src/jest/matterTest.ts), [packages/test-utils/src/vitest/matterTest.ts](../../../packages/test-utils/src/vitest/matterTest.ts), and [packages/test-utils/src/buntest/matterTest.ts](../../../packages/test-utils/src/buntest/matterTest.ts) set `getPlatformMatterbridge().matterbridgeVersion`, `getPlatformMatterbridge().matterbridgeLatestVersion` and `getPlatformMatterbridge().matterbridgeDevVersion` to the root package version, and set `getPlatformMatterbridge().frontendVersion` to the [apps/frontend/package.json](../../../apps/frontend/package.json) version.
- Verify [docs/main_update.json](../../../docs/main_update.json) and [docs/dev_update.json](../../../docs/dev_update.json) have `latest` equal to the root package version.
- Verify [docs/main_update.json](../../../docs/main_update.json) and [docs/dev_update.json](../../../docs/dev_update.json) have a `dev` value whose version prefix matches the root package version, preserving the existing `-dev-...` suffix format.
- Verify the `engines.node` field in every real workspace package under [packages](../../../packages) is identical to the `engines.node` field in the root [package.json](../../../package.json).
- Verify the Docker workflow release tags in [docker-buildx-s6-rc.yml](../../../.github/workflows/docker-buildx-s6-rc.yml) and [docker-buildx-s6-rc-legacy.yml](../../../.github/workflows/docker-buildx-s6-rc-legacy.yml) are coherent.
- Treat the tag format as `year.month.number`, not a calendar day, for example `2026.4.3` and `2026.4.3-legacy`.
- Treat the tags as coherent only when the legacy tag is exactly the non-legacy tag plus the `-legacy` suffix.
- If the arguments include a user-provided expected release tag, verify the non-legacy workflow tag matches that `year.month.number` value and verify the legacy workflow tag matches that same value plus the `-legacy` suffix.
If explicitly asked to fix the alignment:
- Update [docs/main_update.json](../../../docs/main_update.json) and [docs/dev_update.json](../../../docs/dev_update.json) too.
- Set each file's `latest` field to the root package version.
- Update each file's `dev` field so its version prefix matches the root package version while preserving the existing `-dev-...` suffix.
- Advance `latestDate` and `devDate` by 1 week from their current values, preserving the `YYYY-MM-DD` format.
Output requirements:
- Report the root package version first.
- List every mismatch with the current value and expected value.
- If everything matches, say that explicitly.
- Use concise file references for every mismatch.
- If the workflow release tags are not coherent, report both tag values and ask whether they should be aligned before making changes.
- If the user provided an expected release tag and the workflow tags do not match it, report the expected `year.month.number` values and ask whether they should be updated.
- Do not modify files unless explicitly asked to fix them.
- If fixes were applied, include a post-fix verification section that confirms the updated values read from disk.
Suggested search targets:
- [package.json](../../../package.json) — version, dependencies, scripts, engines
- [packages](../../../packages)
- [packages/test-utils/package.json](../../../packages/test-utils/package.json)
- [.dockerbuild.json](../../../.dockerbuild.json)
- [packages/jest-utils/src/jestMatterTest.ts](../../../packages/jest-utils/src/jestMatterTest.ts)
- [packages/vitest-utils/src/vitestMatterTest.ts](../../../packages/vitest-utils/src/vitestMatterTest.ts)
- [packages/test-utils/src/jest/matterTest.ts](../../../packages/test-utils/src/jest/matterTest.ts)
- [packages/test-utils/src/vitest/matterTest.ts](../../../packages/test-utils/src/vitest/matterTest.ts)
- [packages/test-utils/src/buntest/matterTest.ts](../../../packages/test-utils/src/buntest/matterTest.ts)
- [docs/main_update.json](../../../docs/main_update.json)
- [docs/dev_update.json](../../../docs/dev_update.json)
- [docker-buildx-s6-rc.yml](../../../.github/workflows/docker-buildx-s6-rc.yml)
- [docker-buildx-s6-rc-legacy.yml](../../../.github/workflows/docker-buildx-s6-rc-legacy.yml)
Auf GitHub ansehen