Files
actual/.github/workflows/docs-spelling.yml
Matiss Janis Aboltins e5747b2f2a [AI] Replace archived check-spelling action with typos for docs spell-check (#8249)
* [AI] Replace archived check-spelling action with typos for docs spell-check

The check-spelling/check-spelling action was archived upstream and shipped a
self-disabling "secpoll" kill-switch after a maintainer-account compromise
(2026-06-16), causing the Check Spelling (Docs) workflow to fail fatally with
a security-advisory error. There is no patched release to bump to.

Replace it with crate-ci/typos, which is actively maintained and runs entirely
from the checked-out tree (no PR-comment or bot-apply machinery, so the workflow
only needs contents: read):

- Rewrite .github/workflows/docs-spelling.yml to run crate-ci/typos, dropping
  the check-spelling comment/apply jobs and the pull_request_target trigger.
- Replace the check-spelling config files with typos.toml: scope to
  packages/docs, exclude auto-generated release notes and binary assets, and
  allowlist words typos otherwise mis-flags (HSA, Lage/lage, BA).
- Fix genuine typos surfaced in current docs (schedules.md, paying-in-full.md).
- Update the contributing guide and docs-writing skill to describe the new
  allowlist location.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DstzjPjGYdWMCG4jsrH6a1

* [AI] Add docs-spelling release note and format README

Fix the remaining CI checks on the spell-check migration:

- Add upcoming-release-notes/8249.md (Maintenance) so the "Release notes"
  check passes.
- Reformat .github/actions/docs-spelling/README.md with oxfmt so the lint
  ("Test") and autofix.ci checks pass (autofix.ci is not permitted to modify
  files under .github, so the formatting has to be committed directly).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DstzjPjGYdWMCG4jsrH6a1

* [AI] Disable credential persistence in docs-spelling checkout

Address the code-scanning (zizmor) and CodeRabbit review finding: the
read-only spell-check job performs no authenticated git operations, so set
persist-credentials: false on actions/checkout as a hardening measure.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DstzjPjGYdWMCG4jsrH6a1

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-17 19:19:13 +00:00

56 lines
1.7 KiB
YAML

name: Check Spelling (Docs)
# Spell-checks the documentation under packages/docs using crate-ci/typos.
#
# This replaces the previous check-spelling/check-spelling action, whose
# upstream repository was archived and shipped a self-disabling "secpoll"
# kill-switch after a maintainer-account compromise (2026-06-16). typos is
# actively maintained, runs entirely from the checked-out tree, and needs
# no PR-comment or bot-apply machinery, so the workflow only requires
# read access to the repository contents.
#
# Configuration (allowlist, excluded files) lives in
# .github/actions/docs-spelling/typos.toml.
on:
push:
branches:
- '**'
tags-ignore:
- '**'
paths:
- 'packages/docs/**'
- '.github/workflows/docs-spelling.yml'
- '.github/actions/docs-spelling/**'
pull_request:
paths:
- 'packages/docs/**'
- '.github/workflows/docs-spelling.yml'
- '.github/actions/docs-spelling/**'
types:
- 'opened'
- 'reopened'
- 'synchronize'
permissions:
contents: read
jobs:
spelling:
name: Check Spelling
runs-on: depot-ubuntu-latest
concurrency:
group: spelling-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Read-only spell-check job; no authenticated git operations needed.
persist-credentials: false
- name: Spell check docs
uses: crate-ci/typos@8951ef9cb569c860bc8f3f18070fbfaf65cdb349 # v1.30.0
with:
files: ./packages/docs
config: .github/actions/docs-spelling/typos.toml