Commit Graph
121 Commits
Author SHA1 Message Date
Slavi PantaleevandClaude Opus 5 8095bfda8b Run every Molecule scenario when the shared files change
molecule-shared/ and the workflow itself are used by every scenario, so a
change to either has to run all of them rather than only the roles whose own
files moved. They were also missing from the paths filter, so such a change
would not have triggered the workflow at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-27 18:02:53 +03:00
Slavi PantaleevandClaude Opus 5 51e5d5f482 Install the shared Molecule requirements in CI too
The previous commit moved requirements.txt into molecule-shared/ but left
the workflow installing from the old per-role path, so CI failed on a file
that no longer exists while the local run - which reads the shared file
through bin/molecule.sh - passed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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 Opus 5 ebe13bc360 Add a Molecule scenario for matrix-alertmanager-receiver
Not for merging as-is. One role's scenario plus the workflow that would
make per-role testing affordable here, so we can see how it behaves before
deciding whether to do the other 69.

Unlike the MASH repositories, one repository holds every role, so running
everything on every push is not an option. The workflow's first job works
out which roles a push touched and builds the matrix from that; a change to
docs, or to a role with no scenario yet, runs nothing.

Three things this role needed that a MASH role does not:

- The variables matrix-base would supply (matrix_base_data_path,
  matrix_domain, matrix_user_name, matrix_group_name and the uid/gid) have
  to be provided by the scenario, and the user and group have to exist
  before the role's file tasks run.
- The service contacts the homeserver while starting up - it fetches
  /_matrix/client/v3/joined_rooms to resolve its room mapping and exits 1
  if that fails - so prepare.yml stands up a stub homeserver. Most roles
  here are bridges and bots, so this is likely the rule rather than the
  exception.
- verify.yml runs as its own play, where role defaults are out of scope, so
  the paths it reads are pinned in molecule.yml. The version is deliberately
  NOT pinned: it is read from defaults/main.yml so the assertion compares
  the running image against what the role ships.

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 fe05d36a18 Exercise the translation toolchain when i18n dependencies change
Nothing used to test an i18n/requirements.txt bump - the first real
exercise of a bumped Sphinx/Babel stack was the next scheduled
translations run, well after merging. Template extraction runs the same
toolchain the scheduled workflow uses, in a minute or two, so a broken
bump now fails on its branch instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BhJbmhyUpt4qSrKD9cbJ5A
2026-08-25 00:09:19 +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
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
d495df15ad Update astral-sh/setup-uv action to v10.0.1 (#5516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-14 23:57:08 +00:00
renovate[bot]andSlavi Pantaleev 0c0adb027b Update astral-sh/setup-uv action to v10 2026-08-13 06:06:11 +03:00
renovate[bot]andSlavi Pantaleev 92e8b67d8b Pin dependencies 2026-08-07 21:43:15 +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
renovate[bot]andSlavi Pantaleev 950aa87402 Update actions/stale action to v11 2026-07-28 07:16:24 +03:00
dependabot[bot]andSlavi Pantaleev 4e08e18fab Bump astral-sh/setup-uv from 8.3.2 to 9.0.0
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v8.3.2...v9.0.0)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-21 20:00:36 +03:00
renovate[bot]andSlavi Pantaleev 80ecf4b055 Update actions/setup-python action to v7 2026-07-20 13:36:13 +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
renovate[bot]andSlavi Pantaleev d28497df0e Update astral-sh/setup-uv action to v8.3.2 2026-07-08 14:00:05 +03:00
dependabot[bot]andSlavi Pantaleev c070752c17 build(deps): bump astral-sh/setup-uv from 8.3.0 to 8.3.1
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 8.3.0 to 8.3.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v8.3.0...v8.3.1)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-version: 8.3.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-07 20:20:18 +03:00
renovate[bot]andSlavi Pantaleev 8bd2d473b7 Update astral-sh/setup-uv action to v8.3.0 2026-07-05 20:05:07 +03:00
dependabot[bot]andSlavi Pantaleev dd37011ffb Bump actions/cache from 5 to 6
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-24 07:31:47 +03:00
renovate[bot]andSlavi Pantaleev 914dd3ed62 Update actions/checkout action to v7 2026-06-19 05:51:12 +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
renovate[bot]andSlavi Pantaleev a9faa9e306 Update astral-sh/setup-uv action to v8.2.0 2026-06-04 07:10:05 +03:00
Slavi Pantaleev 7d904e6a02 update-translations.yml: pin astral-sh/setup-uv to v8.1.0
Upstream stopped publishing rolling major/minor tags (v8, v8.0) as
of their v8.0.0 release for supply-chain security reasons, breaking
our workflow which referenced @v8.
2026-05-07 09:57:17 +03:00
renovate[bot]andSlavi Pantaleev 4fea89a690 chore(deps): update astral-sh/setup-uv action to v8 2026-04-16 18:31:58 +03:00
renovate[bot]andSlavi Pantaleev 336c564ed4 chore(deps): update peter-evans/create-pull-request action to v8.1.1 2026-04-11 10:50:22 +03:00
renovate[bot]andSlavi Pantaleev 359d271259 chore(deps): update extractions/setup-just action to v4 2026-04-05 12:35:06 +03:00
renovate[bot]andSlavi Pantaleev 4174eafd6b chore(deps): update actions/cache action to v5 2026-03-22 18:09:55 +02:00
Slavi Pantaleev 09221fd611 Cache prek hook environments in CI 2026-03-22 18:00:15 +02:00
Slavi Pantaleev b3153fcc49 Run CI through prek on Arch 2026-03-22 16:52:39 +02:00
dependabot[bot]andSlavi Pantaleev 980d1ccc5b Bump ansible/ansible-lint from 26.1.1 to 26.3.0
Bumps [ansible/ansible-lint](https://github.com/ansible/ansible-lint) from 26.1.1 to 26.3.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v26.1.1...v26.3.0)

---
updated-dependencies:
- dependency-name: ansible/ansible-lint
  dependency-version: 26.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-13 16:11:36 +02:00
renovate[bot]andSlavi Pantaleev f954df4707 chore(deps): update dependency python to 3.14 2026-02-13 11:41:35 +02:00
Suguru HiraharaandGitHub eea7d15158 Add GitHub Action "Update translations" (#3907) 2026-02-13 11:29:36 +02:00
renovate[bot]andSlavi Pantaleev fa22053bf1 chore(deps): update ansible/ansible-lint action to v26.1.1 2026-01-16 14:32:56 +02:00
dependabot[bot]andSlavi Pantaleev 91711669c6 Bump ansible/ansible-lint from 25.12.2 to 26.1.0
Bumps [ansible/ansible-lint](https://github.com/ansible/ansible-lint) from 25.12.2 to 26.1.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v25.12.2...v26.1.0)

---
updated-dependencies:
- dependency-name: ansible/ansible-lint
  dependency-version: 26.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-08 18:43:23 +02:00
renovate[bot]andSlavi Pantaleev 3c64fe6eb5 chore(deps): update ansible/ansible-lint action to v25.12.2 2025-12-23 05:36:44 +02:00
renovate[bot]andSlavi Pantaleev 1f31975aef chore(deps): update dessant/lock-threads action to v6 2025-12-12 18:54:31 +02:00
renovate[bot]andSlavi Pantaleev 3a12aa7682 chore(deps): update ansible/ansible-lint action to v25.12.1 2025-12-10 16:39:34 +02:00
dependabot[bot]andSlavi Pantaleev cf97144ed8 Bump ansible/ansible-lint from 25.11.1 to 25.12.0
Bumps [ansible/ansible-lint](https://github.com/ansible/ansible-lint) from 25.11.1 to 25.12.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v25.11.1...v25.12.0)

---
updated-dependencies:
- dependency-name: ansible/ansible-lint
  dependency-version: 25.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-02 18:07:25 +02:00
renovate[bot]andSlavi Pantaleev 4caf38e682 chore(deps): update ansible/ansible-lint action to v25.11.1 2025-11-25 05:02:30 +02:00
renovate[bot]andSlavi Pantaleev 7181131967 chore(deps): update actions/checkout action to v6 2025-11-20 21:41:59 +02:00
dependabot[bot]andSlavi Pantaleev 7f6c23f91d Bump ansible/ansible-lint from 25.9.2 to 25.11.0
Bumps [ansible/ansible-lint](https://github.com/ansible/ansible-lint) from 25.9.2 to 25.11.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases)
- [Commits](https://github.com/ansible/ansible-lint/compare/v25.9.2...v25.11.0)

---
updated-dependencies:
- dependency-name: ansible/ansible-lint
  dependency-version: 25.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 19:23:21 +02: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
renovate[bot]andSlavi Pantaleev 958b0de4f1 chore(deps): update ansible/ansible-lint action to v25.9.2 2025-10-08 18:56:09 +03:00
renovate[bot]andSlavi Pantaleev dccfbcbdf5 chore(deps): update ansible/ansible-lint action to v25.9.1 2025-10-01 15:29:16 +03:00
renovate[bot]andSlavi Pantaleev 910cdf8a0a Update ansible/ansible-lint action to v25.9.0 2025-09-17 06:38:56 +03:00
renovate[bot]andSlavi Pantaleev 814d3acc42 Update actions/stale action to v10 2025-09-04 10:04:51 +03:00
renovate[bot]andSlavi Pantaleev b2c9468ac2 Update ansible/ansible-lint action to v25.8.2 2025-08-21 21:14:23 +03:00