diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml new file mode 100644 index 0000000..2271340 --- /dev/null +++ b/.github/workflows/docs.yaml @@ -0,0 +1,45 @@ +name: Build and Publish Docs to GitHub Pages + +on: + release: + types: + - created + push: + branches: [ "main" ] + # Allow running this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + deploy: + + permissions: + pages: write # to deploy to Pages + id-token: write # to verify the deployment originates from an appropriate source + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Set up JDK 23 + uses: actions/setup-java@v4 + with: + java-version: '23' + distribution: 'temurin' + cache: maven + + - name: Generate Dokka Site + run: |- + mvn clean dokka:dokka -pl !reports && \ + mkdir -p target/docs && \ + cp -R core/target/dokka target/docs/api + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: target/docs/ + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/Makefile b/Makefile index d3fe414..01aef83 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,11 @@ build: mvn clean verify site +apidocs: + mvn clean dokka:dokka -pl !reports && \ + mkdir -p target/docs && \ + cp -R core/target/dokka target/docs/api + lint:prepare ktlint && \ mvn spotless:check