Compare commits

..

3 Commits

Author SHA1 Message Date
t.behrendt 927bbdf147 refactor: rename docker-compose -> docker
CI / Test (common.json) (pull_request) Successful in 5s
CI / Test (bun-npm.json) (pull_request) Successful in 5s
CI / Test (action.json) (pull_request) Successful in 11s
CI / Test (docker-compose.json) (pull_request) Successful in 5s
CI / Test (docker.json) (pull_request) Successful in 4s
CI / Test (helm.json) (pull_request) Successful in 4s
CI / Test (k8s.json) (pull_request) Successful in 4s
CI / Test (npm.json) (pull_request) Successful in 4s
CI / Test (golang.json) (pull_request) Successful in 13s
CI / Test (actions.json) (pull_request) Successful in 27s
CI / Format (pull_request) Successful in 5s
2026-07-09 07:29:11 +02:00
t.behrendt 5212f3a0d5 refactor: rename bun-npm -> npm 2026-07-09 07:28:12 +02:00
t.behrendt 5696d59376 refactor: rename action -> actions 2026-07-09 07:25:37 +02:00
10 changed files with 157 additions and 293 deletions
-156
View File
@@ -1,156 +0,0 @@
name: Add autobump
on:
workflow_dispatch:
inputs:
description:
description: Description for the package rule
required: true
type: string
ecosystem:
description: Ecosystem
required: true
type: choice
options:
- action
- golang
- bun-npm
matchUpdateType:
description: Update type to allow
required: true
type: choice
default: major
options:
- major
- minor
- patch
matchPackageName:
description: Package name to allow autobump for
required: true
type: string
matchNewValue:
description: New value pattern (e.g. v7.* or v7.0.0)
required: true
type: string
jobs:
allow-autobump:
name: Allow autobump
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
token: ${{ secrets.GITEA_TOKEN }}
- uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version-file: ".bun-version"
- run: bun install --frozen-lockfile
- name: Add package rule
id: rule
env:
DESCRIPTION: ${{ inputs.description }}
ECOSYSTEM: ${{ inputs.ecosystem }}
MATCH_UPDATE_TYPE: ${{ inputs.matchUpdateType }}
MATCH_PACKAGE_NAME: ${{ inputs.matchPackageName }}
MATCH_NEW_VALUE: ${{ inputs.matchNewValue }}
run: |
set -euo pipefail
FILE="${ECOSYSTEM}.json"
if [[ ! -f "${FILE}" ]]; then
echo "::error::Config file ${FILE} does not exist"
exit 1
fi
MATCH_MANAGERS="$(jq -nc --arg e "${ECOSYSTEM}" '{
"action": ["github-actions"],
"golang": ["gomod"],
"helm": ["helm-values"],
"k8s": ["kubernetes"],
"bun-npm": ["npm", "bun"],
"docker-compose": ["docker-compose"]
}[$e]')"
if [[ "${MATCH_MANAGERS}" == "null" || -z "${MATCH_MANAGERS}" ]]; then
echo "::error::Unknown ecosystem: ${ECOSYSTEM}"
exit 1
fi
if [[ -z "${DESCRIPTION}" ]]; then
DESCRIPTION="Automerge ${MATCH_UPDATE_TYPE} updates for ${MATCH_PACKAGE_NAME} to ${MATCH_NEW_VALUE}"
fi
jq \
--arg desc "${DESCRIPTION}" \
--argjson managers "${MATCH_MANAGERS}" \
--arg updateType "${MATCH_UPDATE_TYPE}" \
--arg packageName "${MATCH_PACKAGE_NAME}" \
--arg newValue "${MATCH_NEW_VALUE}" \
'
.packageRules = ((.packageRules // []) + [{
description: $desc,
matchManagers: $managers,
matchUpdateTypes: [$updateType],
matchPackageNames: [$packageName],
matchNewValue: $newValue,
automerge: true,
platformAutomerge: true,
automergeType: "pr",
addLabels: ["automerge"]
}])
' "${FILE}" > "${FILE}.tmp"
mv "${FILE}.tmp" "${FILE}"
SAFE_PKG="$(printf '%s' "${MATCH_PACKAGE_NAME}" | tr '/:' '--' | tr -cd '[:alnum:]._-')"
SAFE_VAL="$(printf '%s' "${MATCH_NEW_VALUE}" | tr '/:*' '---' | tr -cd '[:alnum:]._-')"
BRANCH="chore/allow-autobump-${ECOSYSTEM}-${SAFE_PKG}-${SAFE_VAL}"
TITLE="feat(${ECOSYSTEM}): allow automerge of ${MATCH_PACKAGE_NAME} ${MATCH_NEW_VALUE}"
{
echo "file=${FILE}"
echo "branch=${BRANCH}"
echo "title=${TITLE}"
echo "description=${DESCRIPTION}"
} >> "${GITHUB_OUTPUT}"
- run: bun run fmt
- name: Create pull request
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
FILE: ${{ steps.rule.outputs.file }}
BRANCH: ${{ steps.rule.outputs.branch }}
TITLE: ${{ steps.rule.outputs.title }}
DESCRIPTION: ${{ steps.rule.outputs.description }}
SERVER_URL: ${{ github.server_url }}
REPOSITORY: ${{ github.repository }}
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
run: |
set -euo pipefail
git config user.name "gitea-actions"
git config user.email "gitea-actions@noreply.local"
git checkout -b "${BRANCH}"
git add "${FILE}"
git commit -m "${TITLE}"
git push -u origin "HEAD:${BRANCH}"
BODY="$(printf 'Allow Renovate to automerge updates matching:\n\n- **Ecosystem:** `%s`\n- **Package:** `%s`\n- **Update type:** `%s`\n- **New value:** `%s`\n\n%s\n' \
"${{ inputs.ecosystem }}" \
"${{ inputs.matchPackageName }}" \
"${{ inputs.matchUpdateType }}" \
"${{ inputs.matchNewValue }}" \
"${DESCRIPTION}")"
RESPONSE="$(curl -sfS -X POST \
-H "Authorization: token ${GITEA_TOKEN}" \
-H "Content-Type: application/json" \
"${SERVER_URL}/api/v1/repos/${REPOSITORY}/pulls" \
-d "$(jq -n \
--arg title "${TITLE}" \
--arg head "${BRANCH}" \
--arg base "${DEFAULT_BRANCH}" \
--arg body "${BODY}" \
'{title: $title, head: $head, base: $base, body: $body}')")"
PR_URL="$(printf '%s' "${RESPONSE}" | jq -r '.html_url')"
echo "Created pull request: ${PR_URL}"
+2 -2
View File
@@ -16,10 +16,10 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Increment tag - name: Increment tag
id: tag id: tag
uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@3ab82e6aa1db388a34562f5ce6eedb598651d916 # 0.1.42 uses: https://gitea.t000-n.de/t.behrendt/conventional-semantic-git-tag-increment@e393dbb067c09fd43519392572ccf63b66cba92d # 0.1.39
with: with:
token: ${{ secrets.GITEA_TOKEN }} token: ${{ secrets.GITEA_TOKEN }}
prerelease: ${{ github.event_name == 'workflow_dispatch' }} prerelease: ${{ github.event_name == 'workflow_dispatch' }}
- uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@7f9ed2bccd9161d124284619464c5dc5b15b79c0 # 0.2.11 - uses: https://gitea.t000-n.de/t.behrendt/actions/release-git-tag@29f50ea246d5d9a62ac3c611fa5c8a6e9846df5a # 0.2.8
with: with:
tag: ${{ steps.tag.outputs.new-tag }} tag: ${{ steps.tag.outputs.new-tag }}
+3
View File
@@ -11,11 +11,14 @@ jobs:
matrix: matrix:
json-file: json-file:
- "action.json" - "action.json"
- "actions.json"
- "k8s.json" - "k8s.json"
- "helm.json" - "helm.json"
- "common.json" - "common.json"
- "docker-compose.json" - "docker-compose.json"
- "docker.json"
- "bun-npm.json" - "bun-npm.json"
- "npm.json"
- "golang.json" - "golang.json"
steps: steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
+1 -98
View File
@@ -1,101 +1,4 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [ "extends": ["local>t.behrendt/actions"]
"local>t.behrendt/renovate-configs:common",
"helpers:pinGitHubActionDigests"
],
"packageRules": [
{
"matchManagers": ["github-actions"],
"addLabels": ["deps", "action"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"groupName": "actions"
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"matchPackageNames": [
"actions/checkout",
"actions/cache",
"actions/cache/*",
"actions/setup-go",
"azure/setup-kubectl",
"azure/setup-helm",
"azure/k8s-set-context",
"azure/k8s-create-secret",
"azure/k8s-deploy",
"azure/k8s-lint",
"helmfile/helmfile-action",
"docker/setup-buildx-action",
"docker/login-action",
"docker/build-push-action",
"oven-sh/setup-bun"
],
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"matchPackageNames": [
"t.behrendt/actions",
"t.behrendt/actions/*",
"t.behrendt/conventional-semantic-git-tag-increment",
"t.behrendt/k_deploy_workflows",
"t.behrendt/validate-json-by-json-schema-action"
],
"matchRegistryUrls": ["https://gitea.t000-n.de/**"],
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"matchPackageNames": ["actions/checkout"],
"matchNewValue": "v7.0.0",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"matchPackageNames": ["actions/cache"],
"matchNewValue": "v6.0.0",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"description": "Automerge major updates for actions/setup-node to v7.0.0",
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"matchPackageNames": ["actions/setup-node"],
"matchNewValue": "v7.*",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"description": "Automerge major updates for actions/setup-go to v7",
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"matchPackageNames": ["actions/setup-go"],
"matchNewValue": "v7.*",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
}
]
} }
+79
View File
@@ -0,0 +1,79 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"local>t.behrendt/renovate-configs:common",
"helpers:pinGitHubActionDigests"
],
"packageRules": [
{
"matchManagers": ["github-actions"],
"addLabels": ["deps", "action"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"groupName": "actions"
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"matchPackageNames": [
"actions/checkout",
"actions/cache",
"actions/cache/*",
"actions/setup-go",
"azure/setup-kubectl",
"azure/setup-helm",
"azure/k8s-set-context",
"azure/k8s-create-secret",
"azure/k8s-deploy",
"azure/k8s-lint",
"helmfile/helmfile-action",
"docker/setup-buildx-action",
"docker/login-action",
"docker/build-push-action",
"oven-sh/setup-bun"
],
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["minor", "patch"],
"matchPackageNames": [
"t.behrendt/actions",
"t.behrendt/actions/*",
"t.behrendt/conventional-semantic-git-tag-increment",
"t.behrendt/k_deploy_workflows",
"t.behrendt/validate-json-by-json-schema-action"
],
"matchRegistryUrls": ["https://gitea.t000-n.de/**"],
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"matchPackageNames": ["actions/checkout"],
"matchNewValue": "v7.0.0",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["github-actions"],
"matchUpdateTypes": ["major"],
"matchPackageNames": ["actions/cache"],
"matchNewValue": "v6.0.0",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
}
]
}
+1 -29
View File
@@ -1,32 +1,4 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>t.behrendt/renovate-configs:common"], "extends": ["local>t.behrendt/renovate-configs:npm"]
"packageRules": [
{
"matchManagers": ["npm", "bun"],
"addLabels": ["deps", "npm"]
},
{
"description": "Group all minor and patch updates together",
"groupName": "all non-major dependencies",
"groupSlug": "all-minor-patch",
"matchUpdateTypes": ["minor", "patch"],
"matchManagers": ["npm", "bun"]
},
{
"description": "Group Bun runtime version",
"groupName": "bun version",
"groupSlug": "bun-version",
"matchManagers": ["bun-version"],
"matchPackageNames": ["Bun", "bun"]
},
{
"description": "Group Bun Docker image",
"groupName": "bun version",
"groupSlug": "bun-version",
"matchDatasources": ["docker"],
"matchPackageNames": ["docker.io/oven/bun", "oven/bun"],
"additionalBranchPrefix": ""
}
]
} }
+28 -1
View File
@@ -15,10 +15,37 @@
"packageRules": [ "packageRules": [
{ {
"description": "Don't update dependencies unless they are at least 7 days old (except for internal deps).", "description": "Don't update dependencies unless they are at least 7 days old (except for internal deps).",
"matchPackageNames": ["!t.behrendt/**", "!gitea.t000-n.de/t.behrendt/**"], "matchPackageNames": ["!t.behrendt/**", "gitea.t000-n.de/t.behrendt/**"],
"minimumReleaseAge": "7 days", "minimumReleaseAge": "7 days",
"minimumReleaseAgeBehaviour": "timestamp-required", "minimumReleaseAgeBehaviour": "timestamp-required",
"internalChecksFilter": "strict" "internalChecksFilter": "strict"
},
{
"matchManagers": ["renovate-config"],
"matchPackageNames": ["local>t.behrendt/renovate-configs:action"],
"replacementName": "local>t.behrendt/renovate-configs:actions",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["renovate-config"],
"matchPackageNames": ["local>t.behrendt/renovate-configs:bun-npm"],
"replacementName": "local>t.behrendt/renovate-configs:npm",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
},
{
"matchManagers": ["renovate-config"],
"matchPackageNames": ["local>t.behrendt/renovate-configs:docker-compose"],
"replacementName": "local>t.behrendt/renovate-configs:docker",
"automerge": true,
"platformAutomerge": true,
"automergeType": "pr",
"addLabels": ["automerge"]
} }
], ],
"osvVulnerabilityAlerts": true, "osvVulnerabilityAlerts": true,
+1 -7
View File
@@ -1,10 +1,4 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>t.behrendt/renovate-configs:common"], "extends": ["local>t.behrendt/renovate-configs:docker"]
"docker-compose": {
"digest": {
"enabled": true
},
"addLabels": ["deps", "docker"]
}
} }
+10
View File
@@ -0,0 +1,10 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>t.behrendt/renovate-configs:common"],
"docker-compose": {
"digest": {
"enabled": true
},
"addLabels": ["deps", "docker"]
}
}
+32
View File
@@ -0,0 +1,32 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["local>t.behrendt/renovate-configs:common"],
"packageRules": [
{
"matchManagers": ["npm", "bun"],
"addLabels": ["deps", "npm"]
},
{
"description": "Group all minor and patch updates together",
"groupName": "all non-major dependencies",
"groupSlug": "all-minor-patch",
"matchUpdateTypes": ["minor", "patch"],
"matchManagers": ["npm", "bun"]
},
{
"description": "Group Bun runtime version",
"groupName": "bun version",
"groupSlug": "bun-version",
"matchManagers": ["bun-version"],
"matchPackageNames": ["Bun", "bun"]
},
{
"description": "Group Bun Docker image",
"groupName": "bun version",
"groupSlug": "bun-version",
"matchDatasources": ["docker"],
"matchPackageNames": ["docker.io/oven/bun", "oven/bun"],
"additionalBranchPrefix": ""
}
]
}