Skip to content

feat: add Renovate for automated dependency updates#14

Open
edmundmiller wants to merge 2 commits intomasterfrom
feat/renovate-setup
Open

feat: add Renovate for automated dependency updates#14
edmundmiller wants to merge 2 commits intomasterfrom
feat/renovate-setup

Conversation

@edmundmiller
Copy link
Copy Markdown
Collaborator

Summary

  • Add self-hosted Renovate via GitHub Action (free, runs on GHA runners)
  • Configure automatic tracking of connect-client version across all Dockerfiles
  • Group dependency updates by type for easier review

Changes

  • renovate.json - Main config with custom regex managers
  • .github/workflows/renovate.yml - Weekly scheduled workflow
  • All Dockerfiles updated with # renovate: comments for version tracking

Dependency Groups

Group What it tracks
connect-client connect-client version in all Dockerfiles + workflow default
python-base-images python:3.x-slim base images
github-actions Action versions (actions/checkout, etc.)
python-packages cellxgene, marimo pip packages
uv ghcr.io/astral-sh/uv
wave-images Wave container images

Setup Required

After merging, add a RENOVATE_TOKEN secret with a PAT that has:

  • contents: write
  • pull-requests: write
  • workflows: write

Then trigger the workflow manually or wait for the Monday schedule.

- Add renovate.json with custom managers for connect-client version tracking
- Add .github/workflows/renovate.yml to run Renovate via GitHub Action
- Add renovate comments to all Dockerfiles for connect-client ARG
- Add renovate comments for pip packages (cellxgene, marimo)
- Update docker.yml workflow with renovate comment for default version

Renovate will create grouped PRs by dependency type:
- connect-client (across all Dockerfiles + workflow)
- python-base-images
- github-actions
- uv, wave-images, python-packages
@FloWuenne
Copy link
Copy Markdown
Collaborator

@edmundmiller This generally seems like a great idea. I vote we update this branch and include. @robnewman What do you think?

@robnewman
Copy link
Copy Markdown
Member

robnewman commented Mar 16, 2026

@FloWuenne Agreed, but it's missing the .seqera/studio-config.yaml file and it should not be merged to master and instead stay in it's own branch.

CC @edmundmiller

@FloWuenne
Copy link
Copy Markdown
Collaborator

Actually, this one is an infrastructure feature we would need to add to each Dockerfile on each branch to work I believe. As far as I understand it's basically a way to auto-update Docker images with new connect versions when they get released. @edmundmiller can this work with a per branch setup?

@edmundmiller
Copy link
Copy Markdown
Collaborator Author

I think it just makes PRs to whatever branches you want. We could specify the branches for each image.

Copy link
Copy Markdown

@weronikasosnowskaseqera weronikasosnowskaseqera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this automation should also cover updating connect-client version.
See https://public.cr.seqera.io/repo/platform/connect-client

required: true
type: string
# renovate: datasource=docker depName=public.cr.seqera.io/platform/connect-client
default: '0.9'
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use 0.11

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.

4 participants