Files
Retro_HA/.gitea/workflows/documentation.yml
Krzysztof Cieślik b69a0c6171
All checks were successful
Update Wiki Documentation / generate-docs (push) Successful in 2m17s
ci: sync wiki to main branch with guaranteed Home.md
2026-06-13 22:34:31 +02:00

75 lines
2.5 KiB
YAML

name: Update Wiki Documentation
on:
push:
branches:
- main
jobs:
generate-docs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
distribution: 'temurin'
- name: Build Markdown Docs
run: |
chmod +x gradlew
./gradlew dokkaGfm
- name: Sync to Wiki
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}
run: |
git config --global user.name "Gitea Bot"
git config --global user.email "bot@gitea.io"
WIKI_URL="https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@gitea.archvium.eu/KrzysztofC/Retro_HA.wiki.git"
# Jeśli repozytorium jest puste, clone może zwrócić błąd, więc robimy fallback
git clone "$WIKI_URL" wiki_dir || (mkdir wiki_dir && cd wiki_dir && git init && git remote add origin "$WIKI_URL" && cd ..)
# Usuwamy stare pliki (oprócz .git)
find wiki_dir -mindepth 1 -maxdepth 1 ! -name '.git' -exec rm -rf {} +
# Kopiujemy nowe pliki ze standardowej lokalizacji Dokka MultiModule (jeśli istnieje)
# lub z pojedynczych modułów
if [ -d "build/dokka/gfm" ]; then
cp -r build/dokka/gfm/* wiki_dir/
else
# Fallback dla pojedynczych modułów
cp -r shared/build/dokka/gfm/* wiki_dir/ 2>/dev/null || true
cp -r app/build/dokka/gfm/* wiki_dir/ 2>/dev/null || true
fi
cd wiki_dir
# Gitea Wiki bezwzględnie wymaga pliku Home.md w głównym katalogu (root).
# Spłaszczamy strukturę dla pliku startowego, jeśli trzeba.
if [ -f "shared/index.md" ]; then
cp shared/index.md Home.md
elif [ -f "index.md" ]; then
mv index.md Home.md
else
echo "# RetroHA Documentation" > Home.md
echo "Auto-generated by Dokka. Navigate via the sidebar." >> Home.md
fi
git add .
if ! git diff --cached --quiet; then
git commit -m "docs: auto-update wiki from CI/CD"
# Wypychamy na gałąź 'main', skoro Gitea ustawiła ją jako domyślną.
git branch -M main
git push -u origin main --force
else
echo "No changes to sync."
fi