Skip to content

chore(renovate): enable Renovate on this repo - #3

Draft
william-u10d wants to merge 1 commit into
mainfrom
chore/enable-renovate
Draft

chore(renovate): enable Renovate on this repo#3
william-u10d wants to merge 1 commit into
mainfrom
chore/enable-renovate

Conversation

@william-u10d

@william-u10d william-u10d commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Companion to #2. That PR bumps Socket Basics by hand; this one is why it had to be done by hand.

The finding

Renovate has never run on this repo — zero PRs, zero renovate/* branches, no dependency dashboard since the repo was created on 2026-08-14. I confirmed the cause with a dry run of the org's self-hosted Renovate against this repo (run #33765279653):

INFO: Repository started        (repository=Unstructured-IO/github-workflows-public)
INFO: Repository is disabled - skipping
"result": "disabled-no-config"
"cloned": true

The GitHub App is installed and the clone succeeds. The repo is skipped purely because it has no Renovate config file:

It fails silently and looks identical to "everything is up to date."

Why it matters here

This repo is the distribution point for Socket Basics scanning across every public repo in the org, enforced via the security/required-workflows-public ruleset. Its own pinned action digests going unmaintained is the failure mode you least want here. Two dependencies have been drifting unnoticed:

The change

A minimal renovate.json5:

  • config:recommended — baseline behaviour.
  • helpers:pinGitHubActionDigests — keeps every uses: pinned to a full commit SHA with a version comment. Matters more here than in a normal repo: an unpinned tag in this file becomes an unpinned tag in every public repo consuming the workflow.
  • dependencyDashboard: true — issues are enabled on this repo, so the dashboard will actually render. (Worth noting the internal github-workflows repo sets this too but has issues disabled, so its dashboard silently does nothing.)

Deliberate omissions, both explained in comments in the file:

  • No schedule. The internal repo uses schedule:earlyMondays to batch a large, noisy dependency surface. This repo pins two actions — batching buys nothing and adds up to a week of latency to security-scanner fixes.
  • No reviewers. The infra team currently has only pull on this repo, and GitHub requires push access to request a team as a reviewer. Grant infra write if you want auto-assignment, and I'll add it back.

The file carries a comment explaining that deleting it silently re-disables the repo, since an otherwise-thin config file looks like something you could clean up.

Verification

  • renovate-config-validatorINFO: Config validated successfully.
  • Cause established by dry run against the real self-hosted Renovate, not inferred.

Separate issue, not fixed here

The internal Unstructured-IO/github-workflows repo is not affected by the disabled-no-config problem — the same dry run shows Renovate correctly detects the Socket Basics update there:

"branchName": "renovate/socketdev-socket-basics-3.x",
"prTitle":    "chore(deps): update socketdev/socket-basics action to v3.1.0",
"result":     "branch-limit-reached"

But it is blocked by a saturated PR concurrency limitprConcurrentLimit: 10 with exactly 10 open Renovate PRs, most stale since March/April. Nearly every pending update there reports branch-limit-reached. That backlog needs triaging (or the limit raising) in the internal repo; it's out of scope for this one.

Review in cubic

Renovate has never run on github-workflows-public. A dry run against the
org's self-hosted Renovate confirms why:

  INFO: Repository started    (repository=Unstructured-IO/github-workflows-public)
  INFO: Repository is disabled - skipping
  "result": "disabled-no-config"

The GitHub App is installed and the clone succeeds ("cloned": true) — the
repo is skipped purely because it has no Renovate config file. The org's
global config (Unstructured-IO/infra, .github/config/renovate/config.js)
sets onboarding: false, and Renovate's requireConfig default is
"required", so a repo with no config is treated as disabled and no
onboarding PR is ever offered.

Consequence: the pinned action digests in .github/workflows/security.yaml
have gone unmaintained since the repo was created on 2026-08-14. The
SocketDev/socket-basics v3.0.0 -> v3.1.0 bump had to be made by hand in #2.

Adds a minimal renovate.json5 that extends config:recommended and
helpers:pinGitHubActionDigests, so every 'uses:' stays pinned to a full
commit SHA. No schedule restriction: this repo pins two actions, so
batching buys nothing while delaying security-scanner fixes.

reviewers is intentionally omitted — the infra team currently has only
'pull' on this repo, and GitHub requires push access to request a team
as a reviewer.
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