Commit Graph
27 Commits
Author SHA1 Message Date
Slavi Pantaleev 3f52a5fac7 Test matrix-synapse with Molecule 2026-08-29 12:53:30 +03:00
Slavi Pantaleev c7ac899e0b Test matrix-bridge-mautrix-telegram with Molecule 2026-08-29 08:55:29 +03:00
Slavi Pantaleev 893a3eff4b Test matrix-bridge-mautrix-signal with Molecule 2026-08-29 08:55:29 +03:00
Slavi Pantaleev c5ca73ec93 Test matrix-bridge-postmoogle with Molecule 2026-08-29 08:55:29 +03:00
Slavi PantaleevandClaude Opus 5 2d258cf0e0 Automerge patch bumps of components whose role has a Molecule scenario
A component bump touches that role's defaults/main.yml, which is on the Molecule
workflow's path filter, so the change-detection job runs that role's scenario.
The bump therefore only merges once the new version has actually been started on
the configuration the role renders. That is a real gate, and a stronger one than
a human reading a version number in a diff.

Patch only. A minor carries behaviour changes that no static rule can judge - the
MASH fleet tried a minor-automerge preset across 21 stateless roles and reverted
all of them, because reading a given release's notes is what decides it, and that
is a job for a human or an agent rather than a config file.

Branch push rather than a PR, as with the other automerge rules here.

The list has to stay in step with the roles that actually have a scenario, so
bin/check-molecule-automerge-list.py enforces it from prek. The direction that
matters is a role keeping automerge after losing its scenario: bumps would then
merge with nothing exercising them. It reports the harmless direction too, since
a role gaining a scenario without being listed is usually an oversight.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SEH3vxYSQ5SV4N5z61eyGT
2026-08-27 18:18:13 +03:00
Slavi PantaleevandClaude Opus 5 8e53dbf940 Automerge Molecule's own dependency updates
Anything under molecule-shared/ - the helper container images, Postgres, and the
Python pins - is on the Molecule workflow's path filter, and a change to a shared
file makes the detect job run every scenario rather than a subset. So an update
there is already gated on the whole suite passing on its own branch, which is a
stronger check than a human reading the diff.

Branch push rather than a PR, matching how the housekeeping updates in this file
already work: nothing to review and no email on success, and a failure still
surfaces as a PR.

This is also how a new Postgres major reaches us. The bump to the pin runs every
scenario against it before it can merge, so if a component does not cope with the
new major we find out from a failed Renovate branch rather than from a user.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SEH3vxYSQ5SV4N5z61eyGT
2026-08-27 18:02:53 +03:00
Slavi PantaleevandClaude Opus 5 9370fdf4b4 Share the Molecule scaffolding and add just molecule
Three things that would not have scaled to 70 roles:

- The Python and Ansible dependency pins were about to be copied into every
  role. They now live once in molecule-shared/, which scenarios reference
  relatively, so they cannot drift apart.
- The helper container images used for probing were hardcoded inline. They
  are pinned once in molecule-shared/vars.yml, carry `# renovate:`
  annotations, and a custom manager in .github/renovate.json keeps them
  current - verified with a local Renovate dry run, which offers
  curl 8.11.1 -> 8.21.0 and python 3.13 -> 3.14-alpine. Seventy invisible
  hardcodes is the blindness class we have been removing elsewhere.
- Running a scenario meant knowing the venv and cd incantation. `just
  molecule <role>` does it, and with no argument lists the roles that have
  a scenario.

Molecule is deliberately not wired into prek: a run takes minutes, pulls
images and needs Docker, which is fine on request and not fine per commit.

docs/molecule-testing.md covers how to run and write these, including the
four things a role here needs that a standalone role does not. AGENTS.md
points at it rather than carrying the detail.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 18:02:53 +03:00
Slavi PantaleevandClaude Fable 5 38f2763c9e Merge housekeeping updates via branch push instead of pull requests
Every dependency bump in the housekeeping list was already automerging,
but as a pull request - which meant an email and an open PR for every
bump even when it merged itself. Branch-push automerge makes green bumps
invisible; a failing one still surfaces as a pull request. The new
Matrix i18n workflow gates the i18n/requirements.txt ones with a real
exercise of the translation toolchain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BhJbmhyUpt4qSrKD9cbJ5A
2026-08-25 00:10:22 +03:00
Slavi PantaleevandClaude Fable 5 f5bf5db45d Automerge Renovate version bumps of devture roles too
The seven pinned com.devture.ansible.role.* roles are maintained by the
same people who review these PRs; their releases are already the review.
Same branch-push automerge (and the same lint gate) as MASH role bumps.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BhJbmhyUpt4qSrKD9cbJ5A
2026-08-24 15:59:12 +03:00
Slavi PantaleevandClaude Fable 5 74cd0fa1f2 Automerge Renovate version bumps of MASH organization roles
Same rule mash-playbook has been running in production: role bumps from
mother-of-all-self-hosting merge via branch push (no PR) once the branch's
CI checks pass. The trust basis is the role repositories' own gates - each
release is cut by Molecule-verified, autotagged merges over there.

Bumps of devture roles and everything else keep their PRs. Extending the
same treatment to devture roles (here and in mash-playbook) is a discussed
follow-up.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BhJbmhyUpt4qSrKD9cbJ5A
2026-08-24 15:46:22 +03:00
Suguru HiraharaandSlavi Pantaleev 19b240095b Add helpers:pinGitHubActionDigests to renovate.json
The preset will pin third-party GitHub Actions to a full-length commit SHA. This is recommended by Renovate at https://docs.renovatebot.com/upgrade-best-practices/#extends-helperspingithubactiondigests.

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-08-07 21:23:44 +03:00
Suguru Hirahara bb1cbdb111 Add other unimportant dependencies to matchFileNames on renovate.json
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-07-13 01:39:13 -04:00
Suguru HiraharaandSlavi Pantaleev 7f4691aabb Add flake.lock to be the list of items for automerge
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-07-13 07:16:00 +03:00
Slavi PantaleevandClaude Fable 5 aa97075f11 Enable Renovate nix support with flake.lock maintenance
This lets Renovate periodically refresh flake.lock, keeping the
nixpkgs and agru inputs of the development shell up to date.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-12 17:04:48 +03:00
Slavi PantaleevandClaude Fable 5 67663be7a9 Restrict Renovate to the v0 tag scheme for mautrix images
Prevents Renovate from proposing "major" updates to the registry-only
calver tags (vYY.MM[.PATCH]), which break further updates and
self-building. See the previous commit for details.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 23:59:09 +03:00
Suguru HiraharaandSlavi Pantaleev 3eced43292 Remove matrix-chatgpt-bot
Reuse:
- https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/096b85bd966931c6ddca8196829c4b99f2fb664f/docs/configuring-playbook-email2matrix.md
- https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/096b85bd966931c6ddca8196829c4b99f2fb664f/docs/configuring-playbook-bridge-appservice-webhooks.md

Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2025-11-07 14:06:41 +02:00
Suguru HiraharaandSlavi Pantaleev 56e01ad456 Update renovate.json: apply versioning=loose
This makes it possible for Renovate to detect updates such as from `x.x.x-0` to `x.x.x-1`.

References:
- https://docs.renovatebot.com/modules/versioning/loose/
- https://docs.renovatebot.com/configuration-options/#versioning

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-07-11 11:08:30 +03:00
Suguru HiraharaandSlavi Pantaleev 17e14a4b89 Enable pre-commit
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2025-06-03 10:36:00 +03:00
renovate[bot]andSlavi Pantaleev 429bbc1c7d Migrate config .github/renovate.json 2025-05-20 23:35:54 +03:00
renovate[bot]andSlavi Pantaleev 5b7d8f4d42 Migrate config .github/renovate.json 2025-04-07 15:42:00 +03:00
Slavi Pantaleev 9178b2e053 Add ghcr.io/matrixgpt/matrix-chatgpt-bot to Renovate's ignoreDeps list
Related to:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3196
- ce893c1b22
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3200#issuecomment-2491780481
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3856
2024-12-06 05:31:46 +02:00
Suguru Hirahara 94cb9bad32 Update .github/renovate.json: add "dependencies" label
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-11-02 13:26:12 +09:00
Slavi Pantaleev 283dd6494f Switch all etke.cc links (from Gitlab to Github)
Related to https://etke.cc/news/d3uw4utq4t3_rpxicrrfqqou_ynmptqjgk95pt-3n2s/
2024-09-07 02:43:00 +03:00
Samuel Meenzen 2149644b81 feat: allow renovate to update ansible dependencies 2023-11-23 14:03:13 +01:00
Slavi PantaleevandGitHub f6f5360574 Make fileMatch more specific
Hopefully, this makes it run faster and prevents potential false-positives.

Although.. a false-positive is unlikely anyway.
2023-10-16 18:20:09 +03:00
Samuel Meenzen 3d6af4e54b fix: also support extracting _tag variables 2023-10-06 14:10:56 +02:00
Samuel Meenzen e647fbd661 Configure Renovate
This adds a custom regex manager so dependencies in yml files can be found.
2023-10-06 12:52:39 +02:00