diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b8b45889f..565de01be 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,6 +13,7 @@ include: - local: .gitlab-ci-full-integration-generator.yml rules: - if: $RUN_TESTS_FULL_INTEGRATION == "true" + - component: gitlab.com/renovate-bot/renovate-runner/renovate.gitlab-ci@main default: tags: !reference [.qa-common-default-runner, tags] @@ -136,6 +137,34 @@ variables: description: "mender-artifact tool version" value: 4.1.0 + # Renovate required variables + RENOVATE_PLATFORM: github + RENOVATE_ENDPOINT: "https://api.github.com" + RENOVATE_GIT_AUTHOR: "mender-test-bot " + RENOVATE_TOKEN: $GITHUB_BOT_TOKEN_REPO_FULL + RENOVATE_GITHUB_COM_TOKEN: $GITHUB_BOT_TOKEN_REPO_FULL + RENOVATE_REPOSITORIES: "mendersoftware/$CI_PROJECT_NAME" + RENOVATE_REQUIRE_CONFIG: "optional" + RENOVATE_ONBOARDING: "false" + RENOVATE_GIT_PRIVATE_KEY: $SSH_PRIVATE_KEY + RENOVATE_CONFIG_FILE: "$CI_PROJECT_DIR/renovate.json" + FORCE_RENOVATE_RUN: + description: "Force a renovate bot run" + value: "false" + options: + - "true" + - "false" + +# Override rules +renovate: + needs: [] + rules: + - if: '$CI_PIPELINE_SOURCE == "schedule"' + - if: '$CI_PIPELINE_SOURCE == "web" && $FORCE_RENOVATE_RUN == "true"' + stage: build + tags: + - k8s-small + .publish:versions: stage: publish image: python:slim diff --git a/renovate.json b/renovate.json new file mode 100644 index 000000000..f27cb91f2 --- /dev/null +++ b/renovate.json @@ -0,0 +1,44 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended", + ":gitSignOff", + ":rebaseStalePrs" + ], + "reviewers": ["team:qa-dependabot-reviewers"], + + "packageRules": [ + { + // TODO: remove some of these when we ditch dependabot + "matchCategories": ["python", "docker", "ci"], + "enabled": false + }, + ], + + "customManagers": [ + { + "customType": "regex", + "managerFilePatterns": ["/.gitlab-ci.yml/"], + "matchStrings": [ + "MENDER_ARTIFACT_VERSION:[\\s\\S]*?value:\\s*[\"']?(?[\\d\\.]+)[\"']?" + ], + "depNameTemplate": "mendersoftware/mender-artifact", + "datasourceTemplate": "github-releases", + "extractVersionTemplate": "^v?(?.*)$", + "versioningTemplate": "semver" + }, + { + "customType": "regex", + "managerFilePatterns": ["/.env/"], + "matchStrings": [ + "MENDER_ARTIFACT_VERSION=(?[\\d\\.]+)" + ], + "depNameTemplate": "mendersoftware/mender-artifact", + "datasourceTemplate": "github-releases", + "extractVersionTemplate": "^v?(?.*)$", + "versioningTemplate": "semver" + }, + ], + + "prHourlyLimit": 0 +}