Files
Retro_HA/.gitea/workflows/documentation.yml
Krzysztof Cieślik 786a31d3b7
All checks were successful
Update Wiki Documentation / generate-docs (push) Successful in 2m15s
ci: fix dokka output path resolution for gitea wiki sync
2026-06-13 22:26:44 +02:00

73 lines
2.4 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 wymaga pliku Home.md jako strony głównej.
if [ -f "index.md" ]; then
mv index.md Home.md
else
echo "# RetroHA Documentation" > Home.md
echo "Auto-generated by Dokka." >> Home.md
fi
git add .
if ! git diff --cached --quiet; then
git commit -m "docs: auto-update wiki from CI/CD"
# Wypychamy zmiany. Wiki w Gitea domyślnie używa gałęzi 'master'.
# Zmieniamy nazwę naszej lokalnej gałęzi na master przed pushem.
git branch -M master
git push -u origin master --force
else
echo "No changes to sync."
fi