Matrix Docker Ansible eploy
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.
 
 
 

198 rader
9.1 KiB

  1. {
  2. "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  3. "extends": [
  4. "config:recommended",
  5. "helpers:pinGitHubActionDigests"
  6. ],
  7. "labels": [
  8. "dependencies"
  9. ],
  10. "branchConcurrentLimit": 5,
  11. "prConcurrentLimit": 3,
  12. "hostRules": [
  13. {
  14. "matchHost": "https://mau.dev",
  15. "concurrentRequestLimit": 2,
  16. "maxRequestsPerSecond": 2
  17. },
  18. {
  19. "matchHost": "https://dock.mau.dev",
  20. "concurrentRequestLimit": 4,
  21. "maxRequestsPerSecond": 4
  22. }
  23. ],
  24. "customManagers": [
  25. {
  26. "customType": "regex",
  27. "managerFilePatterns": [
  28. "/defaults/main.yml$/"
  29. ],
  30. "matchStrings": [
  31. "# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?(?:_version|_tag)\\s*:\\s*[\"']?(?<currentValue>.+?)[\"']?\\s"
  32. ]
  33. },
  34. {
  35. "description": "Helper container images used by the Molecule scenarios. They are pinned once in molecule-shared/vars.yml rather than inline in each role's verify.yml, so this manager keeps that single pin current.",
  36. "customType": "regex",
  37. "managerFilePatterns": [
  38. "/^molecule-shared/vars\\.yml$/"
  39. ],
  40. "matchStrings": [
  41. "# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)\\s+[A-Za-z0-9_]+?\\s*:\\s*[\"'][^:]+:(?<currentValue>[^\"']+)[\"']"
  42. ]
  43. },
  44. {
  45. "customType": "regex",
  46. "description": "Update the self-hosted Renovate runner version",
  47. "managerFilePatterns": [
  48. "/^\\.github\\/workflows\\/renovate\\.yml$/"
  49. ],
  50. "matchStrings": [
  51. "# renovate: datasource=(?<datasource>\\S+) depName=(?<depName>\\S+) packageName=(?<packageName>\\S+)\\s+MATRIX_RENOVATE_VERSION: '(?<currentValue>[^']+)'"
  52. ]
  53. }
  54. ],
  55. "packageRules": [
  56. {
  57. "ignoreUnstable": false,
  58. "versioning": "loose",
  59. "matchSourceUrls": [
  60. "https://github.com/devture/com.devture.ansible.role{/,}**",
  61. "https://github.com/mother-of-all-self-hosting{/,}**"
  62. ]
  63. },
  64. {
  65. "description": "mautrix images are dual-tagged (v0.YYMM.PATCH and vYY.MM[.PATCH]). Stick to the v0 scheme: it matches the git tags (needed for self-building) and has a consistent number of components (the calver tags do not, which makes Renovate stop offering updates).",
  66. "matchPackageNames": [
  67. "dock.mau.dev/mautrix/**"
  68. ],
  69. "allowedVersions": "/^v0\\./"
  70. },
  71. {
  72. "description": "Automerge version bumps of roles maintained in the MASH organization and of devture roles (via branch push - no PR)",
  73. "matchManagers": [
  74. "ansible-galaxy"
  75. ],
  76. "matchSourceUrls": [
  77. "https://github.com/devture/com.devture.ansible.role{/,}**",
  78. "https://github.com/mother-of-all-self-hosting{/,}**"
  79. ],
  80. "automerge": true,
  81. "automergeType": "branch"
  82. },
  83. {
  84. "description": "Housekeeping updates merge via branch push (no PR, no email); a failure on the branch still surfaces as a PR. i18n/requirements.txt bumps are exercised by the Matrix i18n workflow before merging.",
  85. "matchFileNames": [
  86. ".github/workflows/close-stale-issues.yml",
  87. ".github/workflows/i18n.yml",
  88. ".github/workflows/lock-threads.yml",
  89. ".github/workflows/matrix.yml",
  90. ".github/workflows/renovate-smoke-test.yml",
  91. ".github/workflows/renovate.yml",
  92. ".github/workflows/update-translations.yml",
  93. "flake.nix",
  94. "flake.lock",
  95. "i18n/requirements.txt",
  96. "mise.toml"
  97. ],
  98. "automerge": true,
  99. "automergeType": "branch"
  100. },
  101. {
  102. "description": "Automerge updates of the self-hosted Renovate runner (via branch push - no PR)",
  103. "matchManagers": [
  104. "custom.regex"
  105. ],
  106. "matchDepNames": [
  107. "matrix-renovate-runner"
  108. ],
  109. "automerge": true,
  110. "automergeType": "branch"
  111. },
  112. {
  113. "description": "Molecule's own dependencies merge via branch push (no PR, no email). Anything under molecule-shared/ - the helper container images, Postgres, and the Python pins - triggers the Molecule workflow, and a change to a shared file makes it run every scenario, so an update only merges once the whole suite has passed on it. A failure surfaces as a PR instead. This is how a new Postgres major reaches us: the bump runs every scenario against it before anything is merged.",
  114. "matchFileNames": [
  115. "molecule-shared/**",
  116. ".github/workflows/molecule.yml"
  117. ],
  118. "automerge": true,
  119. "automergeType": "branch"
  120. },
  121. {
  122. "description": "Automerge patch bumps of components whose role has a Molecule scenario (via branch push - no PR). A bump touches that role's defaults/main.yml, which makes the Molecule workflow run that role's scenario, so the update only merges once the component has been started on the configuration the role renders. Patch is the baseline for every covered role; explicitly approved roles may also appear in the narrower minor rule below. Keep this list in step with the roles that have a scenario - bin/check-molecule-automerge-list.py (patch rule) enforces that.",
  123. "matchFileNames": [
  124. "roles/custom/matrix-alertmanager-receiver/defaults/main.yml",
  125. "roles/custom/matrix-authentication-service/defaults/main.yml",
  126. "roles/custom/matrix-bot-baibot/defaults/main.yml",
  127. "roles/custom/matrix-bot-draupnir/defaults/main.yml",
  128. "roles/custom/matrix-bot-honoroit/defaults/main.yml",
  129. "roles/custom/matrix-bot-maubot/defaults/main.yml",
  130. "roles/custom/matrix-bot-matrix-reminder-bot/defaults/main.yml",
  131. "roles/custom/matrix-bot-meowlnir/defaults/main.yml",
  132. "roles/custom/matrix-bridge-beeper-line/defaults/main.yml",
  133. "roles/custom/matrix-bridge-heisenbridge/defaults/main.yml",
  134. "roles/custom/matrix-bridge-hookshot/defaults/main.yml",
  135. "roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml",
  136. "roles/custom/matrix-bridge-mautrix-discord/defaults/main.yml",
  137. "roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml",
  138. "roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml",
  139. "roles/custom/matrix-bridge-mautrix-gvoice/defaults/main.yml",
  140. "roles/custom/matrix-bridge-mautrix-linkedin/defaults/main.yml",
  141. "roles/custom/matrix-bridge-mautrix-meta-instagram/defaults/main.yml",
  142. "roles/custom/matrix-bridge-mautrix-meta-messenger/defaults/main.yml",
  143. "roles/custom/matrix-bridge-mautrix-signal/defaults/main.yml",
  144. "roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml",
  145. "roles/custom/matrix-bridge-mautrix-telegram/defaults/main.yml",
  146. "roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml",
  147. "roles/custom/matrix-bridge-postmoogle/defaults/main.yml",
  148. "roles/custom/matrix-client-element/defaults/main.yml",
  149. "roles/custom/matrix-client-fluffychat/defaults/main.yml",
  150. "roles/custom/matrix-element-admin/defaults/main.yml",
  151. "roles/custom/matrix-ketesa/defaults/main.yml",
  152. "roles/custom/matrix-livekit-jwt-service/defaults/main.yml",
  153. "roles/custom/matrix-static-files/defaults/main.yml",
  154. "roles/custom/matrix-synapse/defaults/main.yml",
  155. "roles/custom/matrix-synapse-auto-compressor/defaults/main.yml"
  156. ],
  157. "matchUpdateTypes": [
  158. "patch"
  159. ],
  160. "automerge": true,
  161. "automergeType": "branch"
  162. },
  163. {
  164. "description": "Automerge minor bumps of explicitly approved components with a weight-bearing Molecule scenario (via branch push - no PR). This list is intentionally narrower than the patch rule: the scenario must exercise enough real behavior to be a useful compatibility gate across a minor release. A failure surfaces as a PR instead. Keep every entry backed by a scenario and the patch rule - bin/check-molecule-automerge-list.py (minor rule) enforces that.",
  165. "matchFileNames": [
  166. "roles/custom/matrix-authentication-service/defaults/main.yml",
  167. "roles/custom/matrix-bot-honoroit/defaults/main.yml",
  168. "roles/custom/matrix-bot-meowlnir/defaults/main.yml",
  169. "roles/custom/matrix-bridge-mautrix-bluesky/defaults/main.yml",
  170. "roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml",
  171. "roles/custom/matrix-bridge-mautrix-googlechat/defaults/main.yml",
  172. "roles/custom/matrix-bridge-mautrix-gvoice/defaults/main.yml",
  173. "roles/custom/matrix-bridge-mautrix-linkedin/defaults/main.yml",
  174. "roles/custom/matrix-bridge-mautrix-slack/defaults/main.yml",
  175. "roles/custom/matrix-client-fluffychat/defaults/main.yml",
  176. "roles/custom/matrix-element-admin/defaults/main.yml",
  177. "roles/custom/matrix-livekit-jwt-service/defaults/main.yml",
  178. "roles/custom/matrix-static-files/defaults/main.yml",
  179. "roles/custom/matrix-synapse-auto-compressor/defaults/main.yml"
  180. ],
  181. "matchUpdateTypes": [
  182. "minor"
  183. ],
  184. "automerge": true,
  185. "automergeType": "branch"
  186. }
  187. ],
  188. "pre-commit": {
  189. "enabled": true
  190. },
  191. "nix": {
  192. "enabled": true,
  193. "lockFileMaintenance": {
  194. "enabled": true
  195. }
  196. }
  197. }