You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Every pull request is blocked by the organization Go workflow since GitHub reclassified this repository as Go #5852
Since about 16:40 UTC on 3 November 2026, every pull request in this repository has had to pass the organization's required ✅ Validate Go Project workflow. All 13 pull-request runs since then have failed, so no pull request can merge. Examples: #5850 and the open Longhorn and gRPC update pull requests.
Why
The organization rule Require workflows to pass before merging for Go (deploy/organization-rulesets/require-workflows-go.yaml in devantler-tech/.github) selects repositories whose GitHub-detected language is Go. This repository's Go code now narrowly outweighs its shell scripts (about 6,025,700 against 6,021,200 bytes), so GitHub flipped the detected language from Shell to Go. That enrolled the repository in the rule.
This repository's own instructions say the opposite is intended: "The organization Go workflow's language selector does not enroll this primarily Shell repository." The repository already runs its own Go checks (the complete regression suite, module tidiness and the vulnerability scan), and the organization workflow fails here on lint, tests, coverage and dead-code analysis it was never set up for.
Because the two languages are within a few kilobytes of each other, the detected language can flip back and forth with ordinary changes. A fix that relies on the byte count will not hold.
Options
Keep this repository out of the organization Go rule on purpose, for example with a repository property the rule excludes, managed in devantler-tech/.github. This matches the documented intent and keeps the repository's own Go checks as the gate.
Adopt the organization Go workflow here and make it pass. That means meeting its lint, test, coverage and dead-code requirements across about 660 Go files, then updating this repository's instructions.
Done when
Pull requests in this repository can pass their required checks again.
The chosen enrolment holds regardless of which language GitHub detects.
This repository's instructions describe the enrolment that is actually in force.
#5778 - fix(ci): reject untidy files in every tracked Go module [closed]
📝 Issue Planner
Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.
Create Plan
🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your .coderabbit.yaml:
issue_enrichment:
auto_enrich:
enabled: false
💬 Have feedback or questions? Drop into our discord!
The maintainer chose option 2: adopt the organization Go workflow here and make it pass. This repository stays enrolled whatever language GitHub detects.
What has to pass
Measured on today's failing runs:
Job
Findings
MegaLinter (whole repository)
about 450: YAML style (293), workflow security (40), dependency vulnerabilities (38 + 1), Checkov (27), one HTML page (29), secret-scanner hits (12), and one each from Trivy, v8r, ShellCheck, Hadolint and revive
golangci-lint
27 (mostly unchecked errors)
Dead-code analysis
2 unreachable functions
Tests and race coverage
3 tests that fail on the organization runner
How it lands
The required check scans the whole repository on every pull request, so no partial fix can go green on its own. The fixes are gathered on one integration branch, claude/go-workflow-adoption, and land through a single pull request that fixes this issue. Findings are fixed at their cause. A genuine false positive gets a narrowly scoped, justified disposition, never a disabled linter.
Until that pull request merges, every pull request here stays blocked, unless an organization admin bypasses the rule for an individual merge.
Slices
Go code: golangci-lint, dead code, revive, and the tests that fail on the organization runner
Dependencies and scanners: Grype, OSV-Scanner, Trivy, Hadolint, and Checkov outside workflows
YAML and workflows: yamllint, v8r, zizmor, ShellCheck, and Checkov's workflow checks
Secrets and HTML: Betterleaks, Secretlint, HTMLHint and djLint
This repository's instructions describe the enrolment that is in force
Delivered:#5853 merged at 08:01 UTC. The organization's ✅ Validate Go Project workflow passed on its final head (d328b724f, run 41785808182, first attempt), with every job green: golangci-lint, dead code, tests, race coverage and the whole-repository MegaLinter. The merge-queue deploy succeeded.
Done when
State
Pull requests can pass their required checks again
✅ Done. #5853 passed the organization workflow, and #5850 is CLEAN on current main.
This repository's instructions describe the enrolment in force
✅ Done. AGENTS.md → Validation now says to keep passing that workflow whichever language GitHub detects.
The chosen enrolment holds whatever language GitHub detects
❌ Not yet. See below.
Why the enrolment check is still open: after #5853 merged, GitHub detects this repository as Shell again: 6,047,621 bytes of Shell against 6,041,410 of Go. The organization rule selects by detected language only, so the workflow no longer runs here. #5850 got no run at be6951afb. A lint or dead-code regression can now merge unnoticed, then block every pull request the next time the language flips back to Go.
Ways to close it:
This repository calls the organization workflow itself. A caller workflow here would run the reusable validate-go-project.yaml at a pinned ref on every pull request, with its result required through the CI aggregate. This needs no organization change. While the language is Go, the workflow runs twice.
The organization also enrols by repository property. Add a ruleset in devantler-tech/.github (deploy/organization-rulesets/) that requires the same workflow for repositories with a custom property such as go-workflow: required, and set that property on this repository. A separate ruleset leaves the language rule that other repositories rely on unchanged.
Option 2 keeps one source of truth and helps any other repository near the Go/Shell line. Option 1 can land in this repository alone.
Activity
coderabbitai commentedon Nov 3, 2026
🔗 Related PRs
#5778 - fix(ci): reject untidy files in every tracked Go module [closed]
📝 Issue Planner
Check the box below or use the
@coderabbitai plancommand to generate an implementation plan and prompts that you can use with your favorite coding assistant.🧪 Issue enrichment is currently in open beta.
You can configure auto-planning by selecting labels in the issue_enrichment configuration.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:💬 Have feedback or questions? Drop into our discord!
devantler commentedon Nov 3, 2026
Decision — 3 November 2026
The maintainer chose option 2: adopt the organization Go workflow here and make it pass. This repository stays enrolled whatever language GitHub detects.
What has to pass
Measured on today's failing runs:
How it lands
The required check scans the whole repository on every pull request, so no partial fix can go green on its own. The fixes are gathered on one integration branch,
claude/go-workflow-adoption, and land through a single pull request that fixes this issue. Findings are fixed at their cause. A genuine false positive gets a narrowly scoped, justified disposition, never a disabled linter.Until that pull request merges, every pull request here stays blocked, unless an organization admin bypasses the rule for an individual merge.
Slices
🤖 Generated with Claude Code
test(go): pass the org workflow's plain and coverage test runs
fix(go): resolve golangci-lint, deadcode and revive findings
fix(lint): run revive's default rules except file-by-file package com…
docs(agents): keep the repository passing the org Go workflow
fix(lint): attach the Betterleaks allowlists to their rules
fix(deps): bump vulnerable Go modules in every tracked module
fix(scan): scope osv-scanner's two expected advisory sets to their mo…
fix(images): clear hadolint, Checkov and Trivy findings on hotfix Doc…
fix(k8s): clear Checkov and Trivy findings on manifests
fix(lint): clear MegaLinter's YAML and workflow findings for the org …
devantler commentedon Nov 4, 2026
Status — 4 November 2026
Delivered: #5853 merged at 08:01 UTC. The organization's ✅ Validate Go Project workflow passed on its final head (
d328b724f, run 41785808182, first attempt), with every job green: golangci-lint, dead code, tests, race coverage and the whole-repository MegaLinter. The merge-queue deploy succeeded.CLEANon currentmain.AGENTS.md→ Validation now says to keep passing that workflow whichever language GitHub detects.Why the enrolment check is still open: after #5853 merged, GitHub detects this repository as Shell again: 6,047,621 bytes of Shell against 6,041,410 of Go. The organization rule selects by detected language only, so the workflow no longer runs here. #5850 got no run at
be6951afb. A lint or dead-code regression can now merge unnoticed, then block every pull request the next time the language flips back to Go.Ways to close it:
validate-go-project.yamlat a pinned ref on every pull request, with its result required through the CI aggregate. This needs no organization change. While the language is Go, the workflow runs twice.deploy/organization-rulesets/) that requires the same workflow for repositories with a custom property such asgo-workflow: required, and set that property on this repository. A separate ruleset leaves the language rule that other repositories rely on unchanged.Option 2 keeps one source of truth and helps any other repository near the Go/Shell line. Option 1 can land in this repository alone.
🤖 Generated with Claude Code
chore: agent-claim #5852 nonce=28c291c76392b503961f8d1e1789c3d9