From b865cdd697e1c48c202b441f7b408d11448dad0e Mon Sep 17 00:00:00 2001 From: Deac Date: Wed, 9 Sep 2026 19:52:32 -0400 Subject: [PATCH] STAT-115-remove-check-shared-block: Remove claude/check-shared-block composite action Superseded by a live @../stat-tackler-claude/CLAUDE.md import, which means there is no per-repo copy left to drift and nothing left to check (part of STAT-115). Claude-Session: https://claude.ai/code/session_01FS9R1ZEc8Vu7hg2PmzqbpP --- Makefile | 1 - README.md | 6 --- claude/check-shared-block/README.md | 44 ---------------- claude/check-shared-block/action.yml | 75 ---------------------------- 4 files changed, 126 deletions(-) delete mode 100644 claude/check-shared-block/README.md delete mode 100644 claude/check-shared-block/action.yml diff --git a/Makefile b/Makefile index 55e8a1b..020d753 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,6 @@ ACTIONS := \ docker \ node \ - claude/check-shared-block \ git/create_tag \ git/promotion-gate \ helm/diff \ diff --git a/README.md b/README.md index 789a40b..b4aa160 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,6 @@ Reusable composite actions for Gitea CI/CD pipelines. ## Actions -### Claude - -| Action | Description | -|---|---| -| [claude/check-shared-block](claude/check-shared-block/README.md) | Fails when a repo's shared CLAUDE.md block has drifted from the canonical copy in stat-tackler-infra | - ### Docker | Action | Description | diff --git a/claude/check-shared-block/README.md b/claude/check-shared-block/README.md deleted file mode 100644 index 667347b..0000000 --- a/claude/check-shared-block/README.md +++ /dev/null @@ -1,44 +0,0 @@ -# Check Shared CLAUDE.md Block - - -## Description - -Fails when a repo's shared CLAUDE.md block has drifted from the canonical copy in stat-tackler-infra - - - -## Inputs - -| name | description | required | default | -| --- | --- | --- | --- | -| `TARGET` |

Path to the CLAUDE.md file to check

| `false` | `CLAUDE.md` | -| `CANONICAL_URL` |

Raw URL of the canonical shared fragment

| `false` | `https://gitea.pixelparasol.com/stat-tackler/stat-tackler-infra/raw/branch/main/docs/CLAUDE.shared.md` | -| `GITEA_TOKEN` |

Gitea token with read access to stat-tackler-infra, if it is private

| `false` | `""` | - - - -## Runs - -This action is a `composite` action. - - -## Running locally - -The check logic has no dependency on the composite action wrapper beyond -`curl`, `awk`, and `diff` on `PATH`. From a repo's root: - -```bash -CANONICAL_URL=https://gitea.pixelparasol.com/stat-tackler/stat-tackler-infra/raw/branch/main/docs/CLAUDE.shared.md \ - TARGET=CLAUDE.md sh -c ' - extract() { awk "//{f=0}" "$1"; } - tmp=$(mktemp) - curl -sfSL "$CANONICAL_URL" -o "$tmp" - extract "$tmp" > "$tmp.canon" - extract "$TARGET" > "$tmp.mine" - diff -u "$tmp.canon" "$tmp.mine" && echo "matches canonical" - rm -f "$tmp" "$tmp.canon" "$tmp.mine" - ' -``` - -`GITEA_TOKEN` is only needed if `stat-tackler-infra` becomes private; it is -otherwise safe to omit. diff --git a/claude/check-shared-block/action.yml b/claude/check-shared-block/action.yml deleted file mode 100644 index f084e6a..0000000 --- a/claude/check-shared-block/action.yml +++ /dev/null @@ -1,75 +0,0 @@ -name: Check Shared CLAUDE.md Block -description: Fails when a repo's shared CLAUDE.md block has drifted from the canonical copy in stat-tackler-infra - -inputs: - TARGET: - description: "Path to the CLAUDE.md file to check" - default: "CLAUDE.md" - CANONICAL_URL: - description: "Raw URL of the canonical shared fragment" - default: "https://gitea.pixelparasol.com/stat-tackler/stat-tackler-infra/raw/branch/main/docs/CLAUDE.shared.md" - GITEA_TOKEN: - description: "Gitea token with read access to stat-tackler-infra, if it is private" - default: "" - -runs: - using: composite - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Check shared CLAUDE.md block - shell: sh - env: - TARGET: ${{ inputs.TARGET }} - CANONICAL_URL: ${{ inputs.CANONICAL_URL }} - GITEA_TOKEN: ${{ inputs.GITEA_TOKEN }} - run: | - set -e - - if [ ! -f "$TARGET" ]; then - echo "::error::$TARGET not found" - exit 1 - fi - - extract() { - # Everything between the markers, markers included. - awk '//{f=0}' "$1" - } - - mine=$(extract "$TARGET") - if [ -z "$mine" ]; then - echo "::error::$TARGET has no SHARED:BEGIN/SHARED:END block." - echo "Copy it from $CANONICAL_URL" - exit 1 - fi - - tmp=$(mktemp) - if [ -n "$GITEA_TOKEN" ]; then - curl -sfSL -H "Authorization: token $GITEA_TOKEN" "$CANONICAL_URL" -o "$tmp" - else - curl -sfSL "$CANONICAL_URL" -o "$tmp" - fi - - theirs=$(extract "$tmp") - if [ -z "$theirs" ]; then - echo "::error::Could not read the canonical block from $CANONICAL_URL" - exit 1 - fi - - if [ "$mine" = "$theirs" ]; then - echo "Shared CLAUDE.md block matches the canonical copy." - rm -f "$tmp" - exit 0 - fi - - echo "::error::The shared CLAUDE.md block has drifted from the canonical copy." - echo "Canonical: $CANONICAL_URL" - echo - echo "--- canonical" - echo "+++ $TARGET" - printf '%s\n' "$theirs" > "$tmp.canon" - printf '%s\n' "$mine" > "$tmp.mine" - diff -u "$tmp.canon" "$tmp.mine" || true - rm -f "$tmp" "$tmp.canon" "$tmp.mine" - exit 1