diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml new file mode 100644 index 0000000..9ae4198 --- /dev/null +++ b/.github/workflows/publish-docs.yml @@ -0,0 +1,65 @@ +name: Publish docs + +on: + push: + tags: + - '*' + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +jobs: + deploy_docs: + runs-on: macos-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - uses: actions/checkout@v4 + + - name: Setup JDK + uses: actions/setup-java@v4 + with: + distribution: 'zulu' + java-version: 21 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Install dependencies + run: | + brew install cairo freetype libffi libjpeg libpng zlib + python3 -m pip install --upgrade pip + python3 -m pip install mkdocs mkdocs-material mkdocs-video "mkdocs-material[imaging]" + + - name: Build site + run: mkdocs build + env: + DYLD_FALLBACK_LIBRARY_PATH: /opt/homebrew/lib + + - uses: gradle/gradle-build-action@v3 + + - run: | + ./gradlew --no-configuration-cache \ + :dokkaHtmlMultiModule \ + + - name: Copy Dokka output to site + run: cp -r build/dokka/htmlMultiModule/ site/api/ + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: 'site' + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4