Skip to content

Remove every GitHub Actions workflow from the fork - #4

Merged
shishiv merged 1 commit into
mainfrom
fm/fork-remove-actions
Sep 29, 2026
Merged

shishiv merged 1 commit into
mainfrom
fm/fork-remove-actions

Conversation

@shishiv

@shishiv shishiv commented Sep 29, 2026

Copy link
Copy Markdown
Owner

Summary

Removes every GitHub Actions workflow from the fork, so no pull request or main push runs Actions and no required check can hold a merge:

  • .github/workflows/ci.yml (lint, portable/serial/Herdr test lanes, macOS Bash, repo invariants)
  • .github/workflows/no-mistakes-required.yml (the PR must be raised via no-mistakes compliance check)
  • .github/workflows/windows-herdr-spike.yml (manual-dispatch spike)

To keep the local gates working without those files:

  • bin/fm-lint.sh skips workflow lint and prints a note when the checkout has no .github/workflows directory. If the directory exists but holds no workflow files, lint still fails, so an accidentally emptied directory is still caught.
  • .no-mistakes.yaml declares no_ci: true. no-mistakes reads that setting only from main, so it takes effect once this PR merges. After that, a pipeline run treats a PR with zero checks as ready instead of waiting forever for checks that can't appear. It never waives a check that does register.

Deletes the tests whose only subject was a deleted workflow: tests/fm-ci-workflow.test.sh, tests/fm-no-mistakes-required.test.sh, the Herdr CI step-timeout case in tests/fm-test-run.test.sh, and the current-workflows parse case in tests/fm-lint-workflows.test.sh. Also drops their entries from bin/fm-test-run.sh.

Corrects the docs that linked to or described the deleted CI: CONTRIBUTING.md (the compliance-check paragraph and the required-checks section are replaced by a short "GitHub Actions on this fork" section), docs/configuration.md gate defaults, docs/fm-test-portable-shards.md, docs/verification/public-followup.md, and the operational-home-layout skill.

Consequences to know before merging

  • Nothing runs broad regression before a merge any more. Lint, the coverage guard, and the test lanes run only when someone runs bin/fm-lint.sh and bin/fm-test-run.sh locally.
  • The deleted repo-invariants job was the only check that rejected tracked data/, state/, config/, projects/, and .no-mistakes/ paths, and that CLAUDE.md and .claude/skills stay pointers. After this PR, only .gitignore guards those paths. If that check should stay, the smallest move is a follow-up that puts it in bin/fm-lint.sh.
  • This file set now diverges from upstream kunchenguid/firstmate. Later syncs from upstream will bring the workflows back as conflicts.
  • About 60 generic mentions of "CI" remain in docs and skills: the no-mistakes CI step, the upstream shard evidence, and Herdr lane notes. They weren't swept because they describe upstream behavior or the pipeline's own step, not files this fork links to.

Tests

  • bin/fm-lint.sh (changed-file mode) passes and prints the new skip note. bin/fm-lint.sh <changed scripts> passes with full analysis.
  • tests/fm-lint.test.sh passes, including the new test_default_path_skips_workflow_lint_only_without_a_workflows_dir. That test covers both cases: with no directory, lint exits 0 with the note; with an empty directory, it fails with no GitHub workflow files found.
  • tests/fm-lint-workflows.test.sh passes (15 cases).
  • bin/fm-doc-audience-check.sh: ok surfaces=119 local_links=694.
  • LC_ALL=C bin/fm-test-run.sh --check-coverage: FM_TEST_COVERAGE ok total=241.
  • tests/fm-test-run.test.sh: all 38 remaining cases pass except test_jobs_admits_a_concurrent_safe_family. That case fails the same way on unmodified main on this machine: fm-session-lock-ancestry.test.sh reports that the pty-host was not reparented to init. Under the en_US.UTF-8 locale, --check-coverage also fails on unmodified main with comm: input is not in sorted order. Both failures come from the environment, not from this change.

Delivered without the no-mistakes pipeline, as asked.

Delete ci.yml, no-mistakes-required.yml, and windows-herdr-spike.yml so
the fork runs no GitHub Actions on pull requests or main pushes.

Keep the local gates working without them: bin/fm-lint.sh skips workflow
lint with a note when the checkout has no .github/workflows directory
(an empty directory still fails), and .no-mistakes.yaml declares
no_ci: true so the pipeline's CI step does not wait for checks that can
never register.

Remove the tests whose only subject was a deleted workflow
(fm-ci-workflow, fm-no-mistakes-required, the Herdr CI step-timeout
case, and the current-workflows parse case), and correct the docs and
the layout skill that linked to or described the deleted CI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant