From b082cfcafe2382e0e9854dfa3bc10670a758e833 Mon Sep 17 00:00:00 2001 From: Xuan Hu Date: Tue, 3 Dec 2024 04:49:20 +0000 Subject: [PATCH 1/2] feat(no-release): use copier manager in Renovate --- .github/workflows/renovate.yml | 4 ++-- .gitlab/workflows/renovate.yml | 4 ++-- .renovaterc.json | 43 +++++++++++----------------------- 3 files changed, 18 insertions(+), 33 deletions(-) diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 2c501706..06fae181 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -4,10 +4,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 09d8361a..31da4818 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 b82e02c9..0a83b82a 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,6 +1,7 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "constraints": { + "copier": "9.4.1", "pdm": "2.22.3", "python": "==3.12" }, @@ -59,6 +60,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", + "fileMatch": [ + "^\\.renovaterc\\.json$", + "^template/\\.renovaterc\\.json\\.jinja$" + ], + "matchStrings": [ + "\"copier\": \"(?.*)\"" + ] + }, { "customType": "regex", "datasourceTemplate": "pypi", @@ -100,20 +114,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", - "fileMatch": [ - "^\\.copier-answers\\.yml$" - ], - "matchStrings": [ - "_commit: (?.*?)\n" - ], - "versioningTemplate": "semver" } ], "extends": [ @@ -200,21 +200,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.4.1", - "copier update --defaults --vcs-ref {{{newVersion}}}" - ] - }, - "semanticCommitScope": "copier-template" - }, { "description": "Group pdm Python package and version specified in setup-pdm GitHub Action", "groupName": "pdm", From d1b0fc3146f6d4e4613176e03fa79356cb6fbbfb Mon Sep 17 00:00:00 2001 From: Xuan Hu Date: Tue, 3 Dec 2024 04:54:13 +0000 Subject: [PATCH 2/2] update template --- template/.renovaterc.json.jinja | 45 +++++++------------ .../workflows/renovate.yml.jinja | 6 +-- .../workflows/renovate.yml | 4 +- 3 files changed, 21 insertions(+), 34 deletions(-) diff --git a/template/.renovaterc.json.jinja b/template/.renovaterc.json.jinja index 1b076cd5..0b389c45 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.4.1", "pdm": "2.22.3", "python": "=={{ default_py }}" }, @@ -66,6 +67,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", + "fileMatch": [ + "^\\.renovaterc\\.json$" +[%- if project_name == "Serious Scaffold Python" %], + "^template/\\.renovaterc\\.json\\.jinja$" +[% endif %] + ], + "matchStrings": [ + "\"copier\": \"(?.*)\"" + ] + }, { "customType": "regex", "datasourceTemplate": "pypi", @@ -111,20 +127,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", - "fileMatch": [ - "^\\.copier-answers\\.yml$" - ], - "matchStrings": [ - "_commit: (?.*?)\n" - ], - "versioningTemplate": "semver" } ], "extends": [ @@ -215,21 +217,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.4.1", - "copier update --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 a7a5d658..26eb4695 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 @@ -4,13 +4,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 09d8361a..31da4818 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