ci: check whitespace in committed PR/push range (WealthLedger/specs#2) #72
@@ -15,8 +15,22 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: https://github.com/actions/checkout@v4
|
- uses: https://github.com/actions/checkout@v4
|
||||||
- uses: https://github.com/actions/setup-node@v4
|
|
||||||
with:
|
with:
|
||||||
node-version-file: .nvmrc
|
fetch-depth: 0
|
||||||
- run: npm ci
|
- name: Check whitespace in committed range
|
||||||
- run: npm run verify
|
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"
|
||||||
|
|||||||
@@ -33,8 +33,11 @@ CLI и доступность store, и при расхождении вывод
|
|||||||
validation не заменяет semantic verification и independent read-only review перед archive.
|
validation не заменяет semantic verification и independent read-only review перед archive.
|
||||||
|
|
||||||
Node задаётся собственной `.nvmrc`; после `nvm use --silent` выполните `npm ci`.
|
Node задаётся собственной `.nvmrc`; после `nvm use --silent` выполните `npm ci`.
|
||||||
`npm run verify` проверяет diff. OpenSpec validation остаётся отдельной проверкой
|
`npm run verify` локально проверяет whitespace в незакоммиченном diff; CI `verify`
|
||||||
при изменениях требований. История релизов — [CHANGELOG](CHANGELOG.md).
|
выполняет тот же `git diff --check` по коммитам PR (merge-base→head) или push
|
||||||
|
(before→after, для новой ветки — последний коммит). Это структурная проверка
|
||||||
|
whitespace, не semantic spec validation. OpenSpec validation остаётся отдельной
|
||||||
|
проверкой при изменениях требований. История релизов — [CHANGELOG](CHANGELOG.md).
|
||||||
|
|
||||||
## Релизы
|
## Релизы
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user