From f5fefc7d218738959cc6ac634ec17cfec6190fd5 Mon Sep 17 00:00:00 2001 From: Mihaela Date: Thu, 2 Jul 2026 21:40:13 +0200 Subject: [PATCH] chore(rules): track shared-rules baseline v1.1.0 --- .forgejo/workflows/rules-conformance.yml | 24 ++++++++++++++++++++++++ .rules-version | 1 + 2 files changed, 25 insertions(+) create mode 100644 .forgejo/workflows/rules-conformance.yml create mode 100644 .rules-version diff --git a/.forgejo/workflows/rules-conformance.yml b/.forgejo/workflows/rules-conformance.yml new file mode 100644 index 0000000..a035237 --- /dev/null +++ b/.forgejo/workflows/rules-conformance.yml @@ -0,0 +1,24 @@ +# Managed by rules-swift (scripts/sync-rules.sh). Verifies this repo tracks the +# CURRENT shared-rules baseline. The repo's own .swiftformat/.swiftlint.yml are +# repo-specific (baseline + project rules) and are intentionally NOT byte-checked. +name: rules-conformance +on: + push: + pull_request: + workflow_dispatch: +jobs: + rules: + runs-on: macos + steps: + - uses: actions/checkout@v4 + - name: Rules baseline freshness (VERSION) + 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)" diff --git a/.rules-version b/.rules-version new file mode 100644 index 0000000..9084fa2 --- /dev/null +++ b/.rules-version @@ -0,0 +1 @@ +1.1.0