Skip to content

ci: 33 repositories schedule a sync-labels workflow that no longer exists #472

Description

@ss-o

Problem

33 repositories schedule a weekly workflow that calls a reusable workflow which does not exist.

Each carries .github/workflows/sync-labels.yml containing:

on:
  schedule:
    - cron: "22 2 * * 2"
jobs:
  labels:
    uses: z-shell/.github/.github/workflows/sync-labels.yml@main

z-shell/.github/.github/workflows/sync-labels.yml returns 404. It is not on main and is not in the workflow directory.

Two independent reasons to remove these

  1. They are broken. Any repository whose scheduled run is still active fails weekly against a missing callee. The sampled caller (z-shell/fzy) shows state=disabled_inactivity, so GitHub has auto-disabled some after 60 days of repository inactivity — which masks the breakage rather than fixing it. Repositories that see activity will start failing again.
  2. sync-labels.yml is an explicitly deprecated pattern. The workspace AGENTS.md "Deprecated patterns — never add these" table lists it by name, with the remedy "Remove; apply labels via API script". scripts/labels-sync.rb in this repository is that API script.

Affected repositories (33)

  • z-shell/any-gem
  • z-shell/any-node
  • z-shell/apr
  • z-shell/asciidoctor
  • z-shell/brew-completions
  • z-shell/dircolors-material
  • z-shell/doctoc
  • z-shell/ecs-cli
  • z-shell/firefox-dev
  • z-shell/fzy
  • z-shell/H-S-MW
  • z-shell/ls_colors
  • z-shell/pyenv
  • z-shell/remark
  • z-shell/subversion
  • z-shell/system-completions
  • z-shell/z-a-bin-gem-node
  • z-shell/z-a-default-ice
  • z-shell/z-a-patch-dl
  • z-shell/z-a-readurl
  • z-shell/z-a-rust
  • z-shell/z-a-submods
  • z-shell/z-a-test
  • z-shell/z-a-unscope
  • z-shell/zbrowse
  • z-shell/zconvey
  • z-shell/zi-rbenv
  • z-shell/zsh-bin
  • z-shell/zsh-cmd-architect
  • z-shell/zsh-editing-workbench
  • z-shell/zsh-unique-id
  • z-shell/ztrace
  • z-shell/zzcomplete

How this was found

A consumer audit for #461 swept every label-related file path across all 86 active, non-fork, non-archived repositories using the trees and contents API. These callers turned up in that sweep. They do not read lib/labels.yml — they never reached the label file at all — so they did not block #461.

Suggested fix

Delete .github/workflows/sync-labels.yml from each of the 33 repositories. Nothing replaces it: label rollout is handled by scripts/labels-sync.rb, run deliberately rather than on a schedule.

Worth batching, and worth confirming per repository that the file contains only this caller job before removing it — the sweep matched paths, not full contents.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciContinuous integration or GitHub Actions work.meta:org-trackedIndicates this issue has cross-repository tracking implications (synced to Linear).status:triageAwaiting initial review or classification.type:maintenanceNon-feature maintenance, cleanup, or org work.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions