From 45e871c0f27c0f83c8a0e50957e038dbe1b92fca Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Mon, 2 Nov 2026 20:28:20 +0300 Subject: [PATCH 1/3] ci: check whitespace in committed PR/push range (WealthLedger/specs#2) --- .gitea/workflows/verify.yml | 22 ++++++++++++++++++---- README.md | 7 +++++-- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/verify.yml b/.gitea/workflows/verify.yml index cd6d109..d793b91 100644 --- a/.gitea/workflows/verify.yml +++ b/.gitea/workflows/verify.yml @@ -15,8 +15,22 @@ jobs: runs-on: ubuntu-latest steps: - uses: https://github.com/actions/checkout@v4 - - uses: https://github.com/actions/setup-node@v4 with: - node-version-file: .nvmrc - - run: npm ci - - run: npm run verify + fetch-depth: 0 + - name: Check whitespace in committed range + env: + PR_BASE: ${{ github.event.pull_request.base.sha }} + PR_HEAD: ${{ github.event.pull_request.head.sha }} + PUSH_BEFORE: ${{ github.event.before }} + PUSH_AFTER: ${{ github.sha }} + run: | + if [ -n "$PR_HEAD" ]; then + range="$PR_BASE...$PR_HEAD" + elif [ -n "$PUSH_BEFORE" ] && ! expr "$PUSH_BEFORE" : '0*$' >/dev/null; then + range="$PUSH_BEFORE..$PUSH_AFTER" + else + # New branch / unknown before: only the pushed commit; full tree would hit read-only archives. + range="$PUSH_AFTER^..$PUSH_AFTER" + fi + echo "Checked revision: $(git rev-parse HEAD); range: $range" + git diff --check "$range" diff --git a/README.md b/README.md index 600f9c1..f30829e 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,11 @@ CLI и доступность store, и при расхождении вывод validation не заменяет semantic verification и independent read-only review перед archive. Node задаётся собственной `.nvmrc`; после `nvm use --silent` выполните `npm ci`. -`npm run verify` проверяет diff. OpenSpec validation остаётся отдельной проверкой -при изменениях требований. История релизов — [CHANGELOG](CHANGELOG.md). +`npm run verify` локально проверяет whitespace в незакоммиченном diff; CI `verify` +выполняет тот же `git diff --check` по коммитам PR (merge-base→head) или push +(before→after, для новой ветки — последний коммит). Это структурная проверка +whitespace, не semantic spec validation. OpenSpec validation остаётся отдельной +проверкой при изменениях требований. История релизов — [CHANGELOG](CHANGELOG.md). ## Релизы -- 2.54.0 From ee1b188a7bedc1fa270b7434f0a3798adcc84005 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Mon, 2 Nov 2026 20:28:36 +0300 Subject: [PATCH 2/3] test: disposable whitespace probe (WealthLedger/specs#2) --- ci-probe.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 ci-probe.md diff --git a/ci-probe.md b/ci-probe.md new file mode 100644 index 0000000..dcb3da8 --- /dev/null +++ b/ci-probe.md @@ -0,0 +1 @@ +probe -- 2.54.0 From 52c6e3ddef46d8d8874decb1e2cdf25999f4dd7e Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Mon, 2 Nov 2026 20:31:45 +0300 Subject: [PATCH 3/3] test: remove whitespace probe (WealthLedger/specs#2) --- ci-probe.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 ci-probe.md diff --git a/ci-probe.md b/ci-probe.md deleted file mode 100644 index dcb3da8..0000000 --- a/ci-probe.md +++ /dev/null @@ -1 +0,0 @@ -probe -- 2.54.0