From 6f827d27b058db28a5068d0014f0b85098c8ade9 Mon Sep 17 00:00:00 2001 From: Sydney Renee Date: Wed, 11 Feb 2026 21:13:07 -0800 Subject: [PATCH] CI: quarantine upstream workflows not needed on fork MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Move 9 inherited matplotlib workflows out of .github/workflows/ into github-workflows-quarantine/ to prevent them from running on the fork. Quarantined: - nightlies.yml (daily cron uploading to Anaconda Cloud — failing) - stale.yml, stale-tidy.yml (cron labeling/closing issues on upstream schedule) - cibuildwheel.yml (expensive wheel builds on every push) - cygwin.yml (irrelevant for MLX work) - circleci.yml (requires missing CIRCLECI_TOKEN) - good-first-issue.yml, pr_welcome.yml, labeler.yml (upstream community mgmt) Existing run history for these workflows has been deleted. Kept active: tests, linting, codeql, mypy-stubtest, clean_pr, do_not_merge, conflictcheck — all useful for development. --- github-workflows-quarantine/README.md | 57 +++++++++++++++++++ .../cibuildwheel.yml | 0 .../circleci.yml | 0 .../cygwin.yml | 0 .../good-first-issue.yml | 0 .../labeler.yml | 0 .../nightlies.yml | 0 .../pr_welcome.yml | 0 .../stale-tidy.yml | 0 .../stale.yml | 0 10 files changed, 57 insertions(+) create mode 100644 github-workflows-quarantine/README.md rename {.github/workflows => github-workflows-quarantine}/cibuildwheel.yml (100%) rename {.github/workflows => github-workflows-quarantine}/circleci.yml (100%) rename {.github/workflows => github-workflows-quarantine}/cygwin.yml (100%) rename {.github/workflows => github-workflows-quarantine}/good-first-issue.yml (100%) rename {.github/workflows => github-workflows-quarantine}/labeler.yml (100%) rename {.github/workflows => github-workflows-quarantine}/nightlies.yml (100%) rename {.github/workflows => github-workflows-quarantine}/pr_welcome.yml (100%) rename {.github/workflows => github-workflows-quarantine}/stale-tidy.yml (100%) rename {.github/workflows => github-workflows-quarantine}/stale.yml (100%) diff --git a/github-workflows-quarantine/README.md b/github-workflows-quarantine/README.md new file mode 100644 index 000000000000..9e0f10927fb5 --- /dev/null +++ b/github-workflows-quarantine/README.md @@ -0,0 +1,57 @@ +# Quarantined Upstream Workflows + +These GitHub Actions workflow files originate from the upstream +[matplotlib/matplotlib](https://github.com/matplotlib/matplotlib) repository. +They were moved here from `.github/workflows/` to prevent them from running +on this fork (MLXPorts/mlx-matplotlib). + +## Provenance + +- **Upstream repo:** matplotlib/matplotlib +- **Fork point:** `ea40d72fb0` (Merge pull request #30657) +- **Upstream HEAD at quarantine time:** `08fe8bc4ad` (Merge pull request #31111) +- **Quarantine date:** 2026-02-11 + +## Why quarantined + +These workflows are designed for the upstream matplotlib project and cause +problems when running on a fork: + +| File | Trigger | Problem | +|---|---|---| +| `nightlies.yml` | cron (daily) | Attempts to upload wheels to Anaconda Cloud; fails because `ANACONDA_TOKEN` is not set. Would publish to `scientific-python-nightly-wheels` if it were. | +| `stale.yml` | cron (3x/week) | Labels fork PRs as inactive on upstream's schedule. | +| `stale-tidy.yml` | cron (3x/week) | Closes fork issues as inactive on upstream's schedule. | +| `cibuildwheel.yml` | push to main | Builds release wheels on every push — expensive CI minutes for a dev fork. | +| `cygwin.yml` | push to main | Runs Cygwin build/test matrix — not relevant for MLX porting work. | +| `circleci.yml` | status events | Requires `CIRCLECI_TOKEN` secret that doesn't exist on the fork. | +| `good-first-issue.yml` | issue labeled | Posts upstream community onboarding text on fork issues. | +| `pr_welcome.yml` | PR opened | Posts upstream contributor greeting on fork PRs. | +| `labeler.yml` | PR opened | Auto-labels PRs using upstream's label rules. | + +## Modifications from upstream + +All files (except `labeler.yml` which was unmodified) had minimal changes from +upstream — primarily swapping `matplotlib/matplotlib` guards to +`MLXPorts/mlx-matplotlib` and pinning some action versions. The actual workflow +logic is upstream's. + +## Restoring + +To re-enable any of these workflows, move the file back to `.github/workflows/`: + +```sh +git mv github-workflows-quarantine/.yml .github/workflows/.yml +``` + +## Workflows still active in `.github/workflows/` + +The following workflows remain active because they are useful for development: + +- `tests.yml` — test suite on push/PR +- `linting.yml` — linting on PRs +- `codeql-analysis.yml` — security scanning +- `mypy-stubtest.yml` — type checking on PRs +- `clean_pr.yml` — PR cleanliness checks +- `do_not_merge.yml` — prevents merging WIP PRs +- `conflictcheck.yml` — merge conflict detection diff --git a/.github/workflows/cibuildwheel.yml b/github-workflows-quarantine/cibuildwheel.yml similarity index 100% rename from .github/workflows/cibuildwheel.yml rename to github-workflows-quarantine/cibuildwheel.yml diff --git a/.github/workflows/circleci.yml b/github-workflows-quarantine/circleci.yml similarity index 100% rename from .github/workflows/circleci.yml rename to github-workflows-quarantine/circleci.yml diff --git a/.github/workflows/cygwin.yml b/github-workflows-quarantine/cygwin.yml similarity index 100% rename from .github/workflows/cygwin.yml rename to github-workflows-quarantine/cygwin.yml diff --git a/.github/workflows/good-first-issue.yml b/github-workflows-quarantine/good-first-issue.yml similarity index 100% rename from .github/workflows/good-first-issue.yml rename to github-workflows-quarantine/good-first-issue.yml diff --git a/.github/workflows/labeler.yml b/github-workflows-quarantine/labeler.yml similarity index 100% rename from .github/workflows/labeler.yml rename to github-workflows-quarantine/labeler.yml diff --git a/.github/workflows/nightlies.yml b/github-workflows-quarantine/nightlies.yml similarity index 100% rename from .github/workflows/nightlies.yml rename to github-workflows-quarantine/nightlies.yml diff --git a/.github/workflows/pr_welcome.yml b/github-workflows-quarantine/pr_welcome.yml similarity index 100% rename from .github/workflows/pr_welcome.yml rename to github-workflows-quarantine/pr_welcome.yml diff --git a/.github/workflows/stale-tidy.yml b/github-workflows-quarantine/stale-tidy.yml similarity index 100% rename from .github/workflows/stale-tidy.yml rename to github-workflows-quarantine/stale-tidy.yml diff --git a/.github/workflows/stale.yml b/github-workflows-quarantine/stale.yml similarity index 100% rename from .github/workflows/stale.yml rename to github-workflows-quarantine/stale.yml