Skip to content

Added the Dependabot configuration the pinned actions need - #662

Merged
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:chore/dependabot-github-actions
Aug 25, 2026
Merged

Added the Dependabot configuration the pinned actions need#662
fdesbiens merged 1 commit into
eclipse-threadx:devfrom
fdesbiens:chore/dependabot-github-actions

Conversation

@fdesbiens

Copy link
Copy Markdown
Contributor

Follow-up to #660, and the last piece of the GitHub Actions track.

#660 pinned all 19 action references to commit SHAs. A SHA pin with nothing moving it is worse than a floating tag — it holds CI on whatever was current the day it was written. That is how actions/cache@v1 came to sit in ci_cortex_m.yml until GitHub began auto-failing every request that used it, and nobody was told. The drift measured on 24 August, before the catch-up: download-artifact four majors behind, checkout and upload-artifact three each, cache and upload-pages-artifact two.

This adds .github/dependabot.yml — weekly, github-actions only — and closes the reference to that path which #660 left in each workflow's pinning comment.

Dependabot understands the SHA form and rewrites the trailing version comment together with the pin, so the comment cannot drift away from the SHA it describes.

Shape

Patch and minor are grouped into a single pull request: they are the routine traffic, and a queue reviewed one item at a time is a queue that gets ignored — which is the failure mode this file exists to prevent. Majors stay ungrouped, one pull request each, because every breaking change this repository has met in an action has been a major (download-artifact v8 defaulting digest-mismatch to error; upload-artifact v6 requiring runner ≥ 2.327.1).

The update pull requests are a real test here, and would not have been before this month: since #652 the regression suites run on pull requests to dev, so a Dependabot pull request exercises the bumped action against the full suite rather than two static checks.

Two choices worth stating rather than leaving to be rediscovered

target-branch: dev. Dependabot reads this file from the default branch, which is master — but master is deliberately kept behind dev, and pull requests belong where the suites gate them. So this arms on merge without firing: nothing happens until a release merge carries the file to master. Setting target-branch also opts out of Dependabot security updates, which only ever run against the default branch. For this ecosystem the cost is small — an action advisory arrives as an ordinary bump on the weekly run — but it is a real trade.

open-pull-requests-limit: 10, up from the default 5. Nine distinct actions are in use, and 5 would hold majors back with nothing saying that it had.

What is deliberately absent

No other ecosystem is configured: external dependencies are forbidden, there are no submodules, and the one pinned tool — gcovr in scripts/install.sh — lives in a shell script that no Dependabot ecosystem can parse, so that pin keeps moving by hand.

Dependabot also correctly leaves the five local reusable-workflow references in regression_test.yml alone; they carry no version to move.

Notes

Assisted-by: Claude Opus 5 noreply@anthropic.com

The action references were pinned to commit SHAs in eclipse-threadx#660, and a SHA pin with
nothing moving it is worse than a floating tag -- it holds CI on whatever was
current the day it was written. That is exactly how actions/cache@v1 stayed in
ci_cortex_m.yml until GitHub began auto-failing every request that used it.
The drift measured before that catch-up: download-artifact four majors behind,
checkout and upload-artifact three each, cache and upload-pages-artifact two,
with nothing ever reporting it. This closes the loop, and the reference to
.github/dependabot.yml that eclipse-threadx#660 left in each workflow's pinning comment.

Weekly, github-actions only. Patch and minor are grouped into one pull request
because they are the routine traffic and a queue reviewed one item at a time is
a queue that gets ignored. Majors stay ungrouped, one each, because every
breaking change this repository has met in an action has been a major.

Two choices worth stating rather than leaving to be rediscovered.

target-branch is dev. Dependabot reads this file from the default branch, which
is master, but master is deliberately kept behind dev and pull requests belong
where the regression suites gate them. The consequence is that landing this on
dev arms it without firing it: nothing happens until a release merge carries
the file to master. Setting target-branch also opts out of Dependabot security
updates, which only run against the default branch -- a small cost for this
ecosystem, since an action advisory arrives as an ordinary bump on the weekly
run, but a real one.

The pull-request limit is raised from the default five to ten. Nine actions are
in use, and five would hold majors back with nothing saying that it had.

No other ecosystem is configured, deliberately: external dependencies are
forbidden, there are no submodules, and the one pinned tool -- gcovr in
scripts/install.sh -- lives in a shell script no ecosystem can parse, so that
pin keeps moving by hand.

No sibling eclipse-threadx repository has a Dependabot configuration, so this
sets the pattern rather than following one. The dependencies label it uses
already exists here.

Assisted-by: Claude Opus 5 <noreply@anthropic.com>
@fdesbiens
fdesbiens merged commit b6a00a2 into eclipse-threadx:dev Aug 25, 2026
8 checks passed
@fdesbiens
fdesbiens deleted the chore/dependabot-github-actions branch August 25, 2026 20:05
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