PureXML/third_party/rules-swift/rules-freshness.yml

25 lines
1.0 KiB
YAML

# Managed by rules-swift (scripts/sync-rules.sh). Verifies only that this repo's
# freshness marker matches the current shared-rules version. It does not claim
# semantic rule conformance; each consumer owns and runs its project-specific gates.
name: rules-freshness
on:
push:
pull_request:
workflow_dispatch:
jobs:
rules:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Shared-rules freshness marker
run: |
BASE=https://codeberg.org/Mihaela/rules-swift/raw/branch/main
canon=$(curl -fsSL "$BASE/VERSION" | tr -d '[:space:]')
mine=$(tr -d '[:space:]' < .rules-version 2>/dev/null || echo MISSING)
if [ "$mine" != "$canon" ]; then
echo "STALE: shared-rules baseline is v$canon, this repo tracks v$mine."
echo "Review the baseline diff, fold it into this repo's rules, then set .rules-version to $canon."
exit 1
fi
echo "rules baseline FRESH at v$canon (repo-specific rules preserved, not checked)"