-
Notifications
You must be signed in to change notification settings - Fork 3
67 lines (67 loc) · 2.32 KB
/
Copy pathplugin.yml
File metadata and controls
67 lines (67 loc) · 2.32 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
name: plugin
on:
push:
branches: [main]
paths:
- "plugin/**"
- "skills/**"
- "src/cairn/assets/**"
- ".claude-plugin/**"
- ".agents/plugins/**"
- "tests/test_plugin_assets.py"
- "tests/test_skill_distribution.py"
- ".github/workflows/plugin.yml"
pull_request:
paths:
- "plugin/**"
- "skills/**"
- "src/cairn/assets/**"
- ".claude-plugin/**"
- ".agents/plugins/**"
- "tests/test_plugin_assets.py"
- "tests/test_skill_distribution.py"
- ".github/workflows/plugin.yml"
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: astral-sh/setup-uv@v7
with:
python-version: "3.12"
# --with pytest provisions pytest into the isolated env; the plugin tests
# read only JSON/Markdown (no cairn package), so --no-project keeps CI fast.
- run: >-
uv run --no-project --with pytest pytest
--noconftest
plugin/tests/
tests/test_plugin_assets.py
tests/test_skill_distribution.py
-q
- name: Verify isolated skills.sh installation
env:
DISABLE_TELEMETRY: "1"
run: |
fake_home="$(mktemp -d)"
export HOME="$fake_home"
export XDG_STATE_HOME="$RUNNER_TEMP/skills-state"
export npm_config_cache="$RUNNER_TEMP/npm-cache"
export npm_config_ignore_scripts="true"
npx --yes skills@1.5.19 add "$GITHUB_WORKSPACE" \
--agent codex --global --yes --copy
test -f "$fake_home/.agents/skills/agentcairn-setup/SKILL.md"
test -f "$fake_home/.agents/skills/agentcairn-setup/agents/openai.yaml"
test ! -e "$fake_home/.agents/skills/using-agentcairn-memory"
unexpected="$(find "$fake_home" -type f \
! -path "$fake_home/.agents/skills/agentcairn-setup/SKILL.md" \
! -path "$fake_home/.agents/skills/agentcairn-setup/agents/openai.yaml" \
-print)"
if [ -n "$unexpected" ]; then
echo "skills.sh wrote unexpected files:" >&2
echo "$unexpected" >&2
exit 1
fi
- name: shellcheck hook scripts
run: |
sudo apt-get update && sudo apt-get install -y shellcheck
shellcheck -S error plugin/scripts/*.sh