Git diff is unreliable as a publish gate — failed runs silently drop files. Wiki idempotency (commit SHA in banner) is now the sole gating mechanism: unchanged pages are skipped, changed pages update. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -34,22 +34,6 @@ jobs:
|
|||||||
- name: Install Python deps
|
- name: Install Python deps
|
||||||
run: pip install --no-cache-dir -r auto-wiki/pipelines/songs/requirements.txt
|
run: pip install --no-cache-dir -r auto-wiki/pipelines/songs/requirements.txt
|
||||||
|
|
||||||
- name: Detect changed files
|
|
||||||
id: diff
|
|
||||||
run: |
|
|
||||||
BASE="${{ github.event.before }}"
|
|
||||||
HEAD="${{ github.sha }}"
|
|
||||||
if [ -z "$BASE" ] || echo "$BASE" | grep -qE '^0+$'; then
|
|
||||||
echo "mode=all" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
git -C ncmr-songs diff --name-only "$BASE" "$HEAD" -- '*.md' \
|
|
||||||
| grep -v '^wip/' | grep -v '^README\.md' \
|
|
||||||
> /tmp/changed.txt 2>/dev/null || true
|
|
||||||
cat /tmp/changed.txt
|
|
||||||
echo "mode=incremental" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "files=$(tr '\n' ' ' < /tmp/changed.txt)" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
- name: Publish
|
- name: Publish
|
||||||
env:
|
env:
|
||||||
WIKI_API_URL: ${{ vars.WIKI_API_URL }}
|
WIKI_API_URL: ${{ vars.WIKI_API_URL }}
|
||||||
@@ -58,15 +42,4 @@ jobs:
|
|||||||
WIKI_BOT_PASSWORD: ${{ secrets.WIKI_BOT_PASSWORD }}
|
WIKI_BOT_PASSWORD: ${{ secrets.WIKI_BOT_PASSWORD }}
|
||||||
SOURCE_REF: ${{ github.sha }}
|
SOURCE_REF: ${{ github.sha }}
|
||||||
GITEA_REPO_URL: ${{ vars.URL_TO_GITEA }}/mikkeli/ncmr-songs
|
GITEA_REPO_URL: ${{ vars.URL_TO_GITEA }}/mikkeli/ncmr-songs
|
||||||
run: |
|
run: python auto-wiki/pipelines/songs/render.py --source-dir ncmr-songs --all
|
||||||
if [ "${{ steps.diff.outputs.mode }}" = "all" ]; then
|
|
||||||
python auto-wiki/pipelines/songs/render.py --source-dir ncmr-songs --all
|
|
||||||
else
|
|
||||||
FILES="${{ steps.diff.outputs.files }}"
|
|
||||||
if [ -z "$FILES" ]; then
|
|
||||||
echo "No changed .md files. Nothing to publish."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
python auto-wiki/pipelines/songs/render.py --source-dir ncmr-songs --files $FILES
|
|
||||||
fi
|
|
||||||
|
|||||||
Reference in New Issue
Block a user