# 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)"