mirror of
https://github.com/actualbudget/actual.git
synced 2026-07-11 20:30:48 -05:00
* [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>
56 lines
1.7 KiB
YAML
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
|