Skip to content

No CI at all: both workflows are checked in as *.disabled, so every vimcode PR is blocked by the merge gate with 'no checks reported' #613

Description

@JDonaghy

Symptom

coord merge refuses every vimcode PR, permanently:

vimcode #611 (issue-611-...): checks_failed — checks failed: coord: could not read
CI status for JDonaghy/vimcode#612 (gh pr checks failed: no checks reported on the
'issue-611-worktree-agents-cannot-query-the-graphif' branch) (unknown)

gh api repos/JDonaghy/vimcode/actions/workflows returns an empty list. The repo has no
active workflows at all, so no PR has ever reported a check.

Root cause: the workflows are checked in disabled

.github/workflows/ci.yml.disabled       (3.5K)
.github/workflows/release.yml.disabled  (11K)

Both were renamed to .disabled on 2026-04-30. GitHub only picks up .yml/.yaml, so they are
inert. The on: block in ci.yml.disabled is already correct for this repo
(branches: [main, develop]) — the file simply never runs.

Why it matters

coord's merge gate (#240) refuses to merge when it cannot read a CI verdict. That is correct —
"no checks" means "no evidence this code works". Overriding with --force-merge on every
vimcode PR disables the gate repo-wide by habit. The repo needs a green gate, not a
comprehensive one.

Fix — re-enable a minimal job that is reliably green

Do not re-enable ci.yml.disabled wholesale. It defines four jobs, and three of them are
liabilities for a merge gate:

job verdict
test (ubuntu-24.04, GTK4) re-enable — this is the gate
build-macos (macos-latest) leave disabled — paid runner minutes, slow, not required to merge
build-windows leave disabled — vimcode is not shipped on Windows today (see docs/CROSS_PLATFORM.md M2, unstarted)
coverage (llvm-cov + Codecov) leave disabled — needs a Codecov token this repo does not have

Rename ci.yml.disabledci.yml and reduce it to the Linux test job. Keep the existing
on: block unchanged — it is already [main, develop], which is what this repo needs.

Anchor the test command to what the Test stage already runs

coordinator.yml configures vimcode's test command as:

cargo test --no-default-features

That is the headless path — vimcode's default = ["gui"] feature pulls in GTK4, and
--no-default-features is what the fleet's Test stage has been running successfully all along.
CI should run the same command, so the merge gate and the Test stage cannot disagree about
whether the same commit passes. The disabled file's cargo test --verbose (default features,
GTK) is a different, unproven-in-CI command.

Suggested job shape — keep the existing caching and toolchain steps, change only what runs:

  • cargo fmt -- --check
  • cargo clippy --no-default-features -- -D warnings
  • cargo build --no-default-features
  • cargo test --no-default-features

Keeping GTK4 out of the job removes the libgtk-4-dev apt install entirely, which also makes it
substantially faster.

If fmt or clippy -D warnings fails on the current tree, do not silently drop the step and
do not mass-reformat the codebase to make it pass. Report what fails in the PR and ship the
build+test steps green; a follow-up issue can clean up the lint debt. A gate that runs is worth
more than a gate that is comprehensive.

Acceptance

This change verifies itself. For same-repo pull_request events GitHub evaluates the
workflow from the PR branch, so the PR that renames the file will itself receive checks.

  • gh pr checks <this PR> must report the job, not "no checks reported".
  • The job must be green. This is the whole point of the issue — a red gate blocks the merge
    queue exactly as hard as an absent one.
  • cargo test --no-default-features must pass locally in the worktree before pushing. Verify by
    exit code, not by reading output.

Scope

Note

quadraui has the same symptom from a different cause — its ci.yml is active but only triggers
on PRs to main while the default branch is develop. Tracked separately in quadraui#514.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcoordTracked by coord-tui pipelineinfrastructureBuild, CI, distribution

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions