Files
ncmr-songs/.gitea/workflows/publish.yml
T
mikkeli 316540f705
/ publish (push) Successful in 44s
publish: clone auto-wiki from automation/songs branch
main branch only has READMEs; renderer code lives on automation/songs.
Also adds --depth 1 since history isn't needed for a code dependency.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 17:52:59 +09:00

73 lines
2.6 KiB
YAML

on:
push:
branches: [master]
paths-ignore:
- "wip/**"
- "README.md"
- ".gitignore"
- ".claude/**"
jobs:
publish:
runs-on: ubuntu-latest
container:
image: python:3.12-slim
steps:
- name: Install system deps
run: apt-get update -qq && apt-get install -y --no-install-recommends git pandoc ca-certificates
- 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 ${{ github.sha }}
- name: Checkout auto-wiki (renderer)
env:
FAPAT: ${{ secrets.FAPAT }}
URL_TO_GITEA: ${{ vars.URL_TO_GITEA }}
run: git clone --branch automation/songs --depth 1 "http://mikkeli:${FAPAT}@${URL_TO_GITEA#http://}/mikkeli/novoyuuparosk-auto-wiki" auto-wiki
- name: Install Python deps
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
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: ${{ github.sha }}
GITEA_REPO_URL: ${{ vars.URL_TO_GITEA }}/mikkeli/ncmr-songs
run: |
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