-
Notifications
You must be signed in to change notification settings - Fork 0
73 lines (62 loc) · 2.38 KB
/
Copy pathvalidate.yml
File metadata and controls
73 lines (62 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name: Validate
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
env:
TREE_RING_VERSION: "0.15.12"
TREE_RING_LINUX_X86_64_SHA256: "44aca4c82e0d9b51af54b2a9ed5447e38097cca193ecbf43ac2ae6f1b0adfbe2"
jobs:
validate:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@93cb6efe18208431cddfb8368fd83d5badbf9bfd # v5.0.1
- name: Install checksum-pinned Tree Ring v0.15
shell: bash
run: |
set -euo pipefail
archive_name="tree-ring-memory-${TREE_RING_VERSION}-linux-x86_64.tar.gz"
archive_path="${RUNNER_TEMP}/${archive_name}"
release_url="https://github.com/TerminallyLazy/Tree-Ring-Memory/releases/download/v${TREE_RING_VERSION}/${archive_name}"
extract_root="${RUNNER_TEMP}/tree-ring-${TREE_RING_VERSION}"
curl \
--proto '=https' \
--tlsv1.2 \
--fail \
--location \
--silent \
--show-error \
--output "${archive_path}" \
"${release_url}"
printf '%s %s\n' \
"${TREE_RING_LINUX_X86_64_SHA256}" \
"${archive_path}" \
| sha256sum --check --status
while IFS= read -r entry; do
case "${entry}" in
/*|../*|*/../*|*/..) exit 1 ;;
esac
done < <(tar -tzf "${archive_path}")
mkdir -p "${extract_root}"
tar -xzf "${archive_path}" -C "${extract_root}"
binary_path="${extract_root}/tree-ring-memory-${TREE_RING_VERSION}-linux-x86_64/tree-ring"
test -x "${binary_path}"
test "$("${binary_path}" --version)" = "tree-ring ${TREE_RING_VERSION}"
printf 'TREE_RING_BIN=%s\n' "${binary_path}" >> "${GITHUB_ENV}"
- name: Validate plugin guidance
run: |
python3 scripts/validate.py
python3 scripts/validate-lifecycle.py
- name: Validate with Claude Code 2.1.241
run: |
npx --yes @anthropic-ai/claude-code@2.1.241 plugin validate . --strict
npx --yes @anthropic-ai/claude-code@2.1.241 plugin validate \
.claude-plugin/plugin.json --strict
npx --yes @anthropic-ai/claude-code@2.1.241 plugin validate \
.claude-plugin/marketplace.json --strict
- name: Smoke Tree Ring v0.15 integration
shell: bash
run: bash scripts/smoke_v015.sh