diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index ae2ab3b0..99e0e3e2 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -16,10 +16,10 @@ jobs: container: env: LOG_LEVEL: debug - RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^git", "^pdm", "^pip", "^copier", "^find"]' + RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^find", "^pdm"]' RENOVATE_BRANCH_PREFIX: renovate-github/ RENOVATE_ENABLED: ${{ vars.RENOVATE_ENABLED || true }} - RENOVATE_ENABLED_MANAGERS: '["pep621", "github-actions", "gitlabci", "regex", "pre-commit"]' + RENOVATE_ENABLED_MANAGERS: '["copier", "github-actions", "gitlabci", "pep621", "pre-commit", "regex"]' RENOVATE_OPTIMIZE_FOR_DISABLED: "true" RENOVATE_PLATFORM: github RENOVATE_REPOSITORIES: '["${{ github.repository }}"]' diff --git a/.gitlab/workflows/renovate.yml b/.gitlab/workflows/renovate.yml index 5876ca01..1100677d 100644 --- a/.gitlab/workflows/renovate.yml +++ b/.gitlab/workflows/renovate.yml @@ -11,10 +11,10 @@ renovate: variables: GIT_STRATEGY: none LOG_LEVEL: debug - RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^git", "^pdm", "^pip", "^copier", "^find"]' + RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^find", "^pdm"]' RENOVATE_BASE_DIR: $CI_PROJECT_DIR/renovate RENOVATE_BRANCH_PREFIX: renovate-gitlab/ - RENOVATE_ENABLED_MANAGERS: '["pep621", "gitlabci", "regex", "pre-commit"]' + RENOVATE_ENABLED_MANAGERS: '["copier", "gitlabci", "pep621", "pre-commit", "regex"]' RENOVATE_ENDPOINT: $CI_API_V4_URL RENOVATE_OPTIMIZE_FOR_DISABLED: "true" RENOVATE_PLATFORM: gitlab diff --git a/.renovaterc.json b/.renovaterc.json index 22522c2a..f2885ba9 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,6 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "constraints": { + "copier": "9.8.0", "pdm": "2.25.4", "python": "==3.12" }, @@ -60,6 +61,19 @@ "uses: pdm-project/setup-pdm[\\s\\S]+?\\sversion: (?.*)\n" ] }, + { + "customType": "regex", + "datasourceTemplate": "pypi", + "depNameTemplate": "copier", + "description": "Match copier version specified in the renovate constraints", + "managerFilePatterns": [ + "/^\\.renovaterc\\.json$/", + "/^template/\\.renovaterc\\.json\\.jinja$/" + ], + "matchStrings": [ + "\"copier\": \"(?.*)\"" + ] + }, { "customType": "regex", "datasourceTemplate": "pypi", @@ -101,20 +115,6 @@ "--package (?.+?)@(?.+?)\\s" ], "versioningTemplate": "docker" - }, - { - "customType": "regex", - "datasourceTemplate": "git-tags", - "depNameTemplate": "https://github.com/serious-scaffold/ss-python.git", - "depTypeTemplate": "copier-template", - "description": "Match template version specified in .copier-answers.yml", - "managerFilePatterns": [ - "/^\\.copier-answers\\.yml$/" - ], - "matchStrings": [ - "_commit: (?.*?)\n" - ], - "versioningTemplate": "semver" } ], "extends": [ @@ -213,21 +213,6 @@ ] } }, - { - "commitMessageTopic": "serious-scaffold-python", - "description": "Update template with copier when a new version is released", - "matchDepTypes": [ - "copier-template" - ], - "postUpgradeTasks": { - "commands": [ - "git stash", - "pip install copier==9.8.0", - "copier update --skip-answered --defaults --vcs-ref {{{newVersion}}}" - ] - }, - "semanticCommitScope": "copier-template" - }, { "description": "Group pdm Python package and version specified in setup-pdm GitHub Action", "groupName": "pdm", diff --git a/template/.renovaterc.json.jinja b/template/.renovaterc.json.jinja index 7f55d34b..1ed8a9c6 100644 --- a/template/.renovaterc.json.jinja +++ b/template/.renovaterc.json.jinja @@ -2,6 +2,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "constraints": { + "copier": "9.8.0", "pdm": "2.25.4", "python": "=={{ default_py }}" }, @@ -67,6 +68,21 @@ "uses: pdm-project/setup-pdm[\\s\\S]+?\\sversion: (?.*)\n" ] }, + { + "customType": "regex", + "datasourceTemplate": "pypi", + "depNameTemplate": "copier", + "description": "Match copier version specified in the renovate constraints", + "managerFilePatterns": [ + "/^\\.renovaterc\\.json$/" +{%- if project_name == "Serious Scaffold Python" %}, + "/^template/\\.renovaterc\\.json\\.jinja$/" +{% endif %} + ], + "matchStrings": [ + "\"copier\": \"(?.*)\"" + ] + }, { "customType": "regex", "datasourceTemplate": "pypi", @@ -112,20 +128,6 @@ "--package (?.+?)@(?.+?)\\s" ], "versioningTemplate": "docker" - }, - { - "customType": "regex", - "datasourceTemplate": "git-tags", - "depNameTemplate": "https://github.com/serious-scaffold/ss-python.git", - "depTypeTemplate": "copier-template", - "description": "Match template version specified in .copier-answers.yml", - "managerFilePatterns": [ - "/^\\.copier-answers\\.yml$/" - ], - "matchStrings": [ - "_commit: (?.*?)\n" - ], - "versioningTemplate": "semver" } ], "extends": [ @@ -228,21 +230,6 @@ ] } }, - { - "commitMessageTopic": "serious-scaffold-python", - "description": "Update template with copier when a new version is released", - "matchDepTypes": [ - "copier-template" - ], - "postUpgradeTasks": { - "commands": [ - "git stash", - "pip install copier==9.8.0", - "copier update --skip-answered --defaults --vcs-ref {{ '{{{newVersion}}}' }}" - ] - }, - "semanticCommitScope": "copier-template" - }, { "description": "Group pdm Python package and version specified in setup-pdm GitHub Action", "groupName": "pdm", diff --git a/template/{% if repo_platform == 'github' %}.github{% endif %}/workflows/renovate.yml.jinja b/template/{% if repo_platform == 'github' %}.github{% endif %}/workflows/renovate.yml.jinja index a09f00d2..73982c94 100644 --- a/template/{% if repo_platform == 'github' %}.github{% endif %}/workflows/renovate.yml.jinja +++ b/template/{% if repo_platform == 'github' %}.github{% endif %}/workflows/renovate.yml.jinja @@ -16,13 +16,13 @@ jobs: container: env: LOG_LEVEL: debug - RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^git", "^pdm", "^pip", "^copier", "^find"]' + RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^find", "^pdm"]' RENOVATE_BRANCH_PREFIX: renovate-github/ RENOVATE_ENABLED: {{ '${{ vars.RENOVATE_ENABLED || true }}' }} {% if project_name == "Serious Scaffold Python" %} - RENOVATE_ENABLED_MANAGERS: '["pep621", "github-actions", "gitlabci", "regex", "pre-commit"]' + RENOVATE_ENABLED_MANAGERS: '["copier", "github-actions", "gitlabci", "pep621", "pre-commit", "regex"]' {% else %} - RENOVATE_ENABLED_MANAGERS: '["pep621", "github-actions", "regex", "pre-commit"]' + RENOVATE_ENABLED_MANAGERS: '["copier", "github-actions", "pep621", "pre-commit", "regex"]' {% endif %} RENOVATE_OPTIMIZE_FOR_DISABLED: "true" RENOVATE_PLATFORM: github diff --git a/template/{% if repo_platform == 'gitlab' or repo_platform == 'gitlab-self-managed' %}.gitlab{% endif %}/workflows/renovate.yml b/template/{% if repo_platform == 'gitlab' or repo_platform == 'gitlab-self-managed' %}.gitlab{% endif %}/workflows/renovate.yml index 5876ca01..1100677d 100644 --- a/template/{% if repo_platform == 'gitlab' or repo_platform == 'gitlab-self-managed' %}.gitlab{% endif %}/workflows/renovate.yml +++ b/template/{% if repo_platform == 'gitlab' or repo_platform == 'gitlab-self-managed' %}.gitlab{% endif %}/workflows/renovate.yml @@ -11,10 +11,10 @@ renovate: variables: GIT_STRATEGY: none LOG_LEVEL: debug - RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^git", "^pdm", "^pip", "^copier", "^find"]' + RENOVATE_ALLOWED_POST_UPGRADE_COMMANDS: '["^find", "^pdm"]' RENOVATE_BASE_DIR: $CI_PROJECT_DIR/renovate RENOVATE_BRANCH_PREFIX: renovate-gitlab/ - RENOVATE_ENABLED_MANAGERS: '["pep621", "gitlabci", "regex", "pre-commit"]' + RENOVATE_ENABLED_MANAGERS: '["copier", "gitlabci", "pep621", "pre-commit", "regex"]' RENOVATE_ENDPOINT: $CI_API_V4_URL RENOVATE_OPTIMIZE_FOR_DISABLED: "true" RENOVATE_PLATFORM: gitlab