Skip to content

Commit

Permalink
Add GitHub Actions workflow to deploy API docs
Browse files Browse the repository at this point in the history
Introduce a GitHub Actions workflow to automatically build and publish API documentation to GitHub Pages upon release creation or push to the main branch. The Makefile is updated with an apidocs target utilizing Dokka, and a new docs.yaml file is added to handle the documentation deployment process.
  • Loading branch information
Konstantin Pavlov authored and Konstantin Pavlov committed Dec 2, 2024
1 parent 6f1729c commit 9a0ba84
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
45 changes: 45 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -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
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit 9a0ba84

Please sign in to comment.