Skip to content

ci: add Dependabot configuration and automated release pipeline#5

Merged
Amnoor merged 1 commit intodevelopfrom
ci/dependabot-auto-release
Feb 27, 2026
Merged

ci: add Dependabot configuration and automated release pipeline#5
Amnoor merged 1 commit intodevelopfrom
ci/dependabot-auto-release

Conversation

@Amnoor
Copy link
Contributor

@Amnoor Amnoor commented Feb 27, 2026

Summary

This PR introduces the full automated dependency management and release pipeline for the Runtime Node project. It configures Dependabot to monitor and raise daily Docker base image update PRs against develop, adds a workflow to automatically merge approved Dependabot PRs, adds a workflow to create a release/v* branch and open a PR to main whenever Dependabot merges into develop, and adds a workflow to automatically tag and publish a GitHub Release whenever a merge lands on main.

Together these four pieces close the loop on fully automated releases — from a Dependabot Node.js version bump all the way through to a tagged GitHub Release — without any manual intervention required. A VERSION file is also introduced as the source of truth for the SemVer component of the release tag.

Files Changed

Added:

  • .github/
    • dependabot.yml
    • workflows/
      • auto-merge-dependabot.yml
      • release-from-develop.yml
      • tag-and-release.yml
  • VERSION

Modified:

  • None

Deleted:

  • None

Key Changes

  • Added .github/dependabot.yml — configures Dependabot on the docker ecosystem targeting the root Dockerfile, running on a daily schedule against the develop branch, with the chore commit prefix, a / branch name separator, dependencies, docker, and node labels applied, and a maximum of 1 open PR at a time.
  • Added .github/workflows/auto-merge-dependabot.yml — triggered on PR open, synchronize, and reopen events; auto-merges (merge commit strategy) any PR where the actor is dependabot[bot] and the dependencies label is present, using the built-in GITHUB_TOKEN with contents: write and pull-requests: write permissions.
  • Added .github/workflows/release-from-develop.yml — triggered on every push to develop, but gated to only run when the actor is dependabot[bot]; extracts the Node.js version from the Dockerfile via a grep regex, reads the SemVer from the VERSION file, constructs a release/v<semver>-<node_version> branch name, pushes the branch, and opens a PR to main using peter-evans/create-pull-request@v5 with a templated PR title and structured PR body.
  • Added .github/workflows/tag-and-release.yml — triggered on every push to main; extracts the Node.js version from the Dockerfile, reads the SemVer from the VERSION file, computes the full tag as v<semver>-<node_version>, creates and pushes an annotated Git tag via git tag -a, and publishes a GitHub Release using actions/create-release@v1 with the tag name, release name, and an auto-generated release body including the Node version.
  • Added VERSION — a plain text file containing 1.0.0, serving as the SemVer source of truth consumed by both release-from-develop.yml and tag-and-release.yml to construct release tags.

@Amnoor Amnoor merged commit 847ef5c into develop Feb 27, 2026
4 checks passed
@Amnoor Amnoor deleted the ci/dependabot-auto-release branch February 27, 2026 06:38
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