Skip to content

chore(deps): bump softprops/action-gh-release from 2 to 3 #626

chore(deps): bump softprops/action-gh-release from 2 to 3

chore(deps): bump softprops/action-gh-release from 2 to 3 #626

Workflow file for this run

name: PR Policy
on:
workflow_dispatch:
pull_request:
branches:
- main
permissions:
contents: read
jobs:
docs-build:
name: docs-build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "20"
cache: "npm"
cache-dependency-path: docs/package-lock.json
- name: Install docs dependencies
working-directory: docs
run: npm install
- name: Build user-guide site
working-directory: docs
run: npm run build
agents-structural:
name: agents-structural
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Detect relevant changes
id: changes
uses: dorny/paths-filter@v4
with:
filters: |
agents:
- 'agent-sources/**'
- 'app/sidecar/**'
- 'app/e2e/fixtures/agent-responses/**'
- name: Setup Node.js
if: steps.changes.outputs.agents == 'true'
uses: actions/setup-node@v6
with:
node-version: "lts/*"
cache: "npm"
cache-dependency-path: app/package-lock.json
- name: Install npm dependencies
if: steps.changes.outputs.agents == 'true'
working-directory: app
run: npm ci --prefer-offline --ignore-scripts
- name: Run agent structural tests
if: steps.changes.outputs.agents == 'true'
working-directory: app
run: npm run test:agents:structural
- name: Skip (no relevant changes)
if: steps.changes.outputs.agents != 'true'
run: echo "No agent-related changes detected — skipping."
instruction-docs-lint:
name: instruction-docs-lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Detect relevant changes
id: changes
uses: dorny/paths-filter@v4
with:
filters: |
docs:
- 'AGENTS.md'
- 'CLAUDE.md'
- '.claude/**'
- '**/*.md'
- name: Lint instruction docs
if: steps.changes.outputs.docs == 'true'
run: bash app/scripts/lint-agent-docs.sh
- name: Markdownlint
if: steps.changes.outputs.docs == 'true'
run: >-
npx markdownlint-cli2
"AGENTS.md" "CLAUDE.md" "README.md" "TEST_MANIFEST.md"
".claude/rules/**/*.md"
".claude/skills/close-linear-issue/SKILL.md"
".claude/skills/create-linear-issue/SKILL.md"
".claude/skills/explaining-code/SKILL.md"
".claude/skills/front-end-design/SKILL.md"
".claude/skills/implement-linear-issue/SKILL.md"
".claude/skills/implement-linear-issue/references/*.md"
".claude/skills/playwright/SKILL.md"
"agent-sources/**/*.md"
"#agent-sources/plugins/vd-agent/**"
"#agent-sources/plugins/skill-creator/skills/skill-creator/**"
"docs/architecture.md"
"docs/user-guide/**/*.md"
- name: Skip (no relevant changes)
if: steps.changes.outputs.docs != 'true'
run: echo "No markdown/instruction-doc changes detected — skipping."
repo-map-audit:
name: repo-map-audit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check for structural changes requiring repo-map.json update
run: |
BASE_SHA="${{ github.event.pull_request.base.sha }}"
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
STRUCTURAL_DIRS=(
"app/src-tauri/src/commands/"
"app/src/stores/"
"app/src/pages/"
"app/src/components/"
"app/src/lib/"
"app/src/hooks/"
)
structural_changed=false
for dir in "${STRUCTURAL_DIRS[@]}"; do
if git diff --name-only --diff-filter=ADR "$BASE_SHA" "$HEAD_SHA" -- "$dir" | grep -q .; then
structural_changed=true
echo "Structural change detected in $dir"
fi
done
if [ "$structural_changed" = true ]; then
if git diff --name-only "$BASE_SHA" "$HEAD_SHA" -- repo-map.json | grep -q .; then
echo "repo-map.json was updated — audit passed."
else
echo "::error::Structural files were added, removed, or renamed but repo-map.json was not updated."
echo "Update repo-map.json to reflect the current codebase. See AGENTS.md for details."
exit 1
fi
else
echo "No structural changes detected — audit passed."
fi
test-manifest-audit:
name: test-manifest-audit
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Check for changes requiring TEST_MANIFEST.md update
run: |
BASE_SHA="${{ github.event.pull_request.base.sha }}"
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
mapped_changed=false
if git diff --name-only --diff-filter=ADR "$BASE_SHA" "$HEAD_SHA" -- "app/src-tauri/src/commands/" | grep -q .; then
mapped_changed=true
echo "Rust command file added/removed/renamed."
fi
if git diff --name-only --diff-filter=ADR "$BASE_SHA" "$HEAD_SHA" -- "app/e2e/" | grep -q .; then
mapped_changed=true
echo "E2E spec added/removed/renamed."
fi
if [ "$mapped_changed" = true ]; then
if git diff --name-only "$BASE_SHA" "$HEAD_SHA" -- TEST_MANIFEST.md | grep -q .; then
echo "TEST_MANIFEST.md was updated — audit passed."
else
echo "::error::Rust command or E2E spec files were added/removed but TEST_MANIFEST.md was not updated."
echo "Update TEST_MANIFEST.md to reflect the current test mappings. See AGENTS.md for details."
exit 1
fi
else
echo "No mapped file changes detected — audit passed."
fi