Skip to content

ci: add automated dependency version checking and Dependabot config #1404

Open
Danyal-Faheem wants to merge 3 commits into
overhangio:releasefrom
Danyal-Faheem:add-dependabot
Open

ci: add automated dependency version checking and Dependabot config #1404
Danyal-Faheem wants to merge 3 commits into
overhangio:releasefrom
Danyal-Faheem:add-dependabot

Conversation

@Danyal-Faheem

Copy link
Copy Markdown
Contributor

I recognized this issue after seeing #1400. Thought it would be a good contribution.

Two new automation files that keep Tutor's third-party dependencies up
to date without manual tracking.

check-dependencies.yml — a scheduled workflow (every Monday at 9 AM
UTC) that checks whether the Docker images pinned in
tutor/templates/config/defaults.yml are up to date within their
designated version cycle. For each outdated image it opens a separate
PR that updates the version string via gha-find-replace and adds a
scriv changelog entry. The version cycle for each dependency is encoded
in a strategy matrix, so bumping to a new cycle (e.g. MySQL 8.4 → 9.x)
is a deliberate one-line edit to the matrix rather than an automated
decision. Major-version upgrades that require migration code remain
manual. Tracked dependencies: Caddy 2.x, MySQL 8.4.x, MongoDB 7.0.x,
Redis 7.4.x.

Sample outputs from the action for the current release branch are here:

https://github.com/Danyal-Faheem/tutor/pulls/app%2Fgithub-actions

dependabot.yml — enables Dependabot for three ecosystems on a
weekly schedule: github-actions (keeps workflow action pins current),
docker (tracks base images in Dockerfiles under
tutor/templates/build/openedx and tutor/templates/build/permissions),
and pip (tracks Python requirements under requirements/).

Sample outputs from the action for the current release branch are here:

https://github.com/Danyal-Faheem/tutor/pulls/app%2Fdependabot

I see this would also resolve #1398.

Python and Node.js versions in tutor/templates/build/openedx/Dockerfile
are intentionally excluded: those are controlled by upstream OpenEdX and
must not be bumped independently.

Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com

Danyal-Faheem and others added 2 commits June 11, 2026 19:16
Two new automation files that keep Tutor's third-party dependencies up
to date without manual tracking.

**check-dependencies.yml** — a scheduled workflow (every Monday at 9 AM
UTC) that checks whether the Docker images pinned in
tutor/templates/config/defaults.yml are up to date within their
designated version cycle. For each outdated image it opens a separate
PR that updates the version string via gha-find-replace and adds a
scriv changelog entry. The version cycle for each dependency is encoded
in a strategy matrix, so bumping to a new cycle (e.g. MySQL 8.4 → 9.x)
is a deliberate one-line edit to the matrix rather than an automated
decision. Major-version upgrades that require migration code remain
manual. Tracked dependencies: Caddy 2.x, MySQL 8.4.x, MongoDB 7.0.x,
Redis 7.4.x.

**dependabot.yml** — enables Dependabot for three ecosystems on a
weekly schedule: github-actions (keeps workflow action pins current),
docker (tracks base images in Dockerfiles under
tutor/templates/build/openedx and tutor/templates/build/permissions),
and pip (tracks Python requirements under requirements/).

Python and Node.js versions in tutor/templates/build/openedx/Dockerfile
are intentionally excluded: those are controlled by upstream OpenEdX and
must not be bumped independently.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ahmed-arb ahmed-arb moved this from Pending Triage to In review in Tutor project management Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

Upgrade GitHub Actions to Node 24-compatible versions

3 participants