mirror of
https://github.com/openclaw/openclaw.git
synced 2026-02-19 08:37:27 +00:00
- Fix code-size -> code-analysis job name (5 jobs had wrong dependency) - Remove useless install-check job (was no-op) - Add explicit docs_only guard to release-check - Remove dead submodule checkout steps (no submodules in repo) - Rename detect-docs-only -> detect-docs-changes, add docs_changed output - Reorder check script: format first for faster fail - Fix billing error test (PR #12946 removed fallback detection but not test)
54 lines
2.0 KiB
YAML
54 lines
2.0 KiB
YAML
name: Detect docs-only changes
|
|
description: >
|
|
Outputs docs_only=true when all changed files are under docs/ or are
|
|
markdown (.md/.mdx). Fail-safe: if detection fails, outputs false (run
|
|
everything). Uses git diff — no API calls, no extra permissions needed.
|
|
|
|
outputs:
|
|
docs_only:
|
|
description: "'true' if all changes are docs/markdown, 'false' otherwise"
|
|
value: ${{ steps.check.outputs.docs_only }}
|
|
docs_changed:
|
|
description: "'true' if any changed file is under docs/ or is markdown"
|
|
value: ${{ steps.check.outputs.docs_changed }}
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Detect docs-only changes
|
|
id: check
|
|
shell: bash
|
|
run: |
|
|
if [ "${{ github.event_name }}" = "push" ]; then
|
|
BASE="${{ github.event.before }}"
|
|
else
|
|
# Use the exact base SHA from the event payload — stable regardless
|
|
# of base branch movement (avoids origin/<ref> drift).
|
|
BASE="${{ github.event.pull_request.base.sha }}"
|
|
fi
|
|
|
|
# Fail-safe: if we can't diff, assume non-docs (run everything)
|
|
CHANGED=$(git diff --name-only "$BASE" HEAD 2>/dev/null || echo "UNKNOWN")
|
|
if [ "$CHANGED" = "UNKNOWN" ] || [ -z "$CHANGED" ]; then
|
|
echo "docs_only=false" >> "$GITHUB_OUTPUT"
|
|
echo "docs_changed=false" >> "$GITHUB_OUTPUT"
|
|
exit 0
|
|
fi
|
|
|
|
# Check if any changed file is a doc
|
|
DOCS=$(echo "$CHANGED" | grep -E '^docs/|\.md$|\.mdx$' || true)
|
|
if [ -n "$DOCS" ]; then
|
|
echo "docs_changed=true" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "docs_changed=false" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
# Check if all changed files are docs or markdown
|
|
NON_DOCS=$(echo "$CHANGED" | grep -vE '^docs/|\.md$|\.mdx$' || true)
|
|
if [ -z "$NON_DOCS" ]; then
|
|
echo "docs_only=true" >> "$GITHUB_OUTPUT"
|
|
echo "Docs-only change detected — skipping heavy jobs"
|
|
else
|
|
echo "docs_only=false" >> "$GITHUB_OUTPUT"
|
|
fi
|