2103a423fe
Workflows now pull pi5-16.local:3005/mikkeli/novoyuuparosk-wiki-runner:v0 instead of relying on the host dockerd image cache. Registry is the authority; act_runner pull_image flipped to true accordingly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
83 lines
2.9 KiB
YAML
83 lines
2.9 KiB
YAML
on:
|
|
workflow_call:
|
|
inputs:
|
|
SOURCE_REF:
|
|
description: "Commit SHA that was pushed to ncmr-songs"
|
|
required: true
|
|
type: string
|
|
SOURCE_BASE_REF:
|
|
description: "Commit SHA before the push (all-zeros = first push)"
|
|
required: true
|
|
type: string
|
|
FULL_PUBLISH:
|
|
description: "Re-publish every file regardless of diff"
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
|
|
jobs:
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: pi5-16.local:3005/mikkeli/novoyuuparosk-wiki-runner:v0
|
|
|
|
steps:
|
|
- name: Checkout ncmr-songs
|
|
env:
|
|
FAPAT: ${{ secrets.FAPAT }}
|
|
URL_TO_GITEA: ${{ vars.URL_TO_GITEA }}
|
|
run: |
|
|
git clone "http://mikkeli:${FAPAT}@${URL_TO_GITEA#http://}/mikkeli/ncmr-songs" ncmr-songs
|
|
git -C ncmr-songs checkout ${{ inputs.SOURCE_REF }}
|
|
|
|
- name: Checkout auto-wiki
|
|
env:
|
|
FAPAT: ${{ secrets.FAPAT }}
|
|
URL_TO_GITEA: ${{ vars.URL_TO_GITEA }}
|
|
run: git clone "http://mikkeli:${FAPAT}@${URL_TO_GITEA#http://}/mikkeli/novoyuuparosk-auto-wiki" auto-wiki
|
|
|
|
- name: Detect changed files
|
|
id: diff
|
|
run: |
|
|
BASE="${{ inputs.SOURCE_BASE_REF }}"
|
|
HEAD="${{ inputs.SOURCE_REF }}"
|
|
# All-zeros base means first push — publish everything
|
|
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
|
|
echo "Changed files:"
|
|
cat /tmp/changed.txt
|
|
echo "mode=incremental" >> "$GITHUB_OUTPUT"
|
|
echo "files=$(tr '\n' ' ' < /tmp/changed.txt)" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Publish
|
|
env:
|
|
WIKI_API_URL: ${{ vars.WIKI_API_URL }}
|
|
WIKI_BASE_URL: ${{ vars.WIKI_BASE_URL }}
|
|
WIKI_BOT_USER: ${{ secrets.WIKI_BOT_USER }}
|
|
WIKI_BOT_PASSWORD: ${{ secrets.WIKI_BOT_PASSWORD }}
|
|
SOURCE_REF: ${{ inputs.SOURCE_REF }}
|
|
GITEA_REPO_URL: ${{ vars.URL_TO_GITEA }}/mikkeli/ncmr-songs
|
|
run: |
|
|
MODE="${{ steps.diff.outputs.mode }}"
|
|
if [ "$MODE" = "all" ] || [ "${{ inputs.FULL_PUBLISH }}" = "true" ]; then
|
|
python auto-wiki/pipelines/songs/publish.py \
|
|
--source-dir ncmr-songs \
|
|
--all
|
|
else
|
|
FILES="${{ steps.diff.outputs.files }}"
|
|
if [ -z "$FILES" ]; then
|
|
echo "No changed .md files detected. Nothing to publish."
|
|
exit 0
|
|
fi
|
|
# shellcheck disable=SC2086
|
|
python auto-wiki/pipelines/songs/publish.py \
|
|
--source-dir ncmr-songs \
|
|
--files $FILES
|
|
fi
|