Repository navigation
59 lines (49 loc) · 1.95 KB
/
Copy pathvalidate.yml
File metadata and controls
59 lines (49 loc) · 1.95 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
name: Validate public marketplace pack
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5
with:
python-version: "3.12"
- name: Install pinned official signature verifier
run: |
verifier_dir="$RUNNER_TEMP/terraphim-tsm-verifier"
mkdir -p "$verifier_dir"
curl --fail --location --silent --show-error --retry 2 \
https://downloads.terraphim-skills.md/tsm/v0.1.16/tsm-0.1.16-x86_64-unknown-linux-gnu.tar.gz \
--output "$verifier_dir/tsm.tar.gz"
printf '%s %s\n' \
0a785a17e70bf724ff3a387dfa5d011d2e23e09913e4a774553cfad64a8c1765 \
"$verifier_dir/tsm.tar.gz" | sha256sum --check --strict
tar -xzf "$verifier_dir/tsm.tar.gz" -C "$verifier_dir" tsm
- name: Verify every original signed skill
run: |
python3 scripts/verify_kilo_distribution.py \
--inputs integrations/kilo/release-inputs.json \
--source-root skills --tsm "$RUNNER_TEMP/terraphim-tsm-verifier/tsm"
- name: Check generated manifests
run: python3 scripts/generate_distribution.py --check
- name: Run tests
env:
TERRAPHIM_TSM_VERIFIER: ${{ runner.temp }}/terraphim-tsm-verifier/tsm
run: python3 -m unittest discover -s tests -p 'test_*.py'
- name: Verify reproducible AutoClaw archives
run: |
output="$(mktemp -d)"
python3 scripts/generate_distribution.py --autoclaw-dist "$output"
diff -u dist/autoclaw/SHA256SUMS "$output/SHA256SUMS"
- name: Reject whitespace errors
run: git diff --check