Skip to content

feat(ci): add Renovate for gap-filling beyond Dependabot - #777

Draft
ajalon1 wants to merge 4 commits into
mainfrom
aj/add-renovate-thru-harness
Draft

feat(ci): add Renovate for gap-filling beyond Dependabot#777
ajalon1 wants to merge 4 commits into
mainfrom
aj/add-renovate-thru-harness

Conversation

@ajalon1

@ajalon1 ajalon1 commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

RATIONALE

Dependabot handles gomod dependencies and github-actions refs, but cannot see version pins embedded in non-manifest files — specifically the go directive in go.mod and tool versions in Taskfile.yaml. Renovate's custom.regex manager fills this gap.

Decision context: Renovate vs. Dependabot: Choosing a Dependency Update Tool

Jira: CFX-7610

CHANGES

  • Add renovate.json at repo root — runner-agnostic per-repo config
  • Add .github/workflows/renovate.yaml — self-hosted Renovate via GitHub Actions

renovate.json

  • Enables only custom.regex manager (all built-in managers disabled to avoid duplicate PRs with Dependabot)
  • Five customManagers:
    • go directive in go.mod (datasource: golang-version)
    • GOLANGCI_LINT_VERSION in Taskfile.yaml (datasource: github-releases)
    • LEFTHOOK_VERSION in Taskfile.yaml (datasource: github-releases)
    • GORELEASER_VERSION in Taskfile.yaml (datasource: github-releases)
    • JSCPD_VERSION in Taskfile.yaml (datasource: github-releases)
  • Taskfile tool versions grouped into one PR; Go toolchain gets its own PR
  • Labels: dependencies, renovate

renovate.yaml workflow

  • Runs daily at 6am UTC + manual workflow_dispatch trigger
  • Uses the official renovate/renovate Docker image (no third-party action)
  • Uses built-in GITHUB_TOKEN with contents:write and pull-requests:write
  • No Mend account or GitHub App installation required

NOTES

  • PRs created by GITHUB_TOKEN do not trigger downstream CI workflows. Switch to a PAT or GitHub App token if CI on Renovate PRs is needed.
  • No changes to existing Dependabot config
  • Out of scope: devcontainer image tag (complex format), doc file Go-version references (informational)

RELATED

ajalon1 and others added 4 commits August 14, 2026 10:09
Add Renovate configuration to handle version pins that Dependabot cannot
see: the Go toolchain directive in go.mod and tool versions pinned in
Taskfile.yaml (golangci-lint, lefthook, goreleaser, jscpd).

Renovate runs via the Mend Renovate GitHub App (free, zero CI). Only
custom.regex manager is enabled to avoid duplicate PRs with Dependabot,
which continues handling gomod dependencies and github-actions refs.

Taskfile tool versions are grouped into a single PR; Go toolchain
updates get their own PR.

Refs: CFX-7610
See: https://datarobot.atlassian.net/wiki/spaces/CFX/pages/7950729316

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Add a scheduled Harness CI pipeline that runs the Renovate Docker image
daily to create PRs for the version pins configured in renovate.json (Go
toolchain directive, Taskfile tool versions). This complements Dependabot,
which cannot see those non-manifest pins.

The pipeline uses the renovate/renovate:latest image with a GitHub token
secret for PR creation. Renovate's built-in managers remain disabled in
renovate.json so there is no overlap with Dependabot's gomod and
github-actions coverage.

Prerequisites:
- RENOVATE_GITHUB_TOKEN Harness secret (GitHub PAT with repo scope)
- DOCKER_HUB_CONNECTOR Harness Docker connector

Refs: CFX-7610
See: https://datarobot.atlassian.net/wiki/spaces/CFX/pages/7950729316

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
…instead

The Harness pipeline was added contrary to the approved spec, which
called for the Mend Renovate GitHub App (free, zero CI). The app is
already installed on the repo and auto-discovers renovate.json on main.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Run Renovate via the official Docker image on a daily schedule (and
manual trigger) instead of the Mend hosted GitHub App. This avoids
the need for a Mend account and keeps all automation within GitHub
Actions, which is free for public repos.

The workflow uses the built-in GITHUB_TOKEN with contents:write and
pull-requests:write permissions. PRs created by GITHUB_TOKEN will not
trigger downstream CI workflows — switch to a PAT if that is needed
later.

renovate.json is runner-agnostic and needs no changes.

Refs: CFX-7610

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant