Skip to content

ci(lint): config verify fetches its schema over the network and flakes the lint gate #72

Closed

Description

@cristim

Summary

The CI "Lint Code" job runs golangci-lint config verify before golangci-lint run. config verify downloads its JSON schema from https://golangci-lint.run/jsonschema/golangci.v2.10.jsonschema.json at run time, so a slow or unreachable site fails the required lint gate even when the code is clean.

Observed on PR #71, a CLAUDE.md-only change, in run 38836492087:

[.golangci.yml] validate: compile schema: failing loading "https://golangci-lint.run/jsonschema/golangci.v2.10.jsonschema.json": ... context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Process completed with exit code 3.

A re-run of the failed job is the only workaround today.

Options

  1. Commit the v2.10 schema into the repo and point config verify at the local copy, if golangci-lint supports a schema override. Check this first.
  2. Retry config verify a bounded number of times, and fail only if every attempt fails.
  3. Drop config verify. golangci-lint run already rejects unknown or invalid config keys, so check how much verify adds beyond that.

Acceptance

  • The lint gate no longer depends on golangci-lint.run being reachable, or it retries before failing.
  • An invalid .golangci.yml still fails CI.

Activity

  1. cristim commented on Oct 17, 2026

    @cristim
    MemberAuthor

    Claiming: working on this [claude-mcp-impl]

  2. self-assigned this
    on Oct 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions