ci: Verify the project, but don't include docs #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Documentation | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
concurrency: | |
group: "pages" | |
cancel-in-progress: false | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out repository | |
uses: actions/[email protected] | |
- name: Cache Maven packages | |
uses: actions/[email protected] | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: Generate diagrams from Structurizr workspace | |
run: | | |
sudo apt update -y | |
sudo apt install -y graphviz | |
TMP_DIR=$(mktemp -d) | |
pushd $TMP_DIR | |
curl -sLOJ https://github.com/structurizr/cli/releases/download/${STRUCTURIZR_VERSION}/structurizr-cli.zip | |
mkdir structurizr-${STRUCTURIZR_VERSION} | |
pushd structurizr-${STRUCTURIZR_VERSION} | |
unzip -q ../structurizr-cli.zip | |
STRUCTURIZR_DIR=$(pwd) | |
popd | |
popd | |
pushd docs | |
PATH=$JAVA_HOME_17_X64/bin:$STRUCTURIZR_DIR:$PATH; structurizr.sh export \ | |
-o src/main/asciidoc/img/generated \ | |
-w src/main/structurizr/workspace.dsl \ | |
-f plantuml | |
popd | |
env: | |
STRUCTURIZR_VERSION: v2024.03.03 | |
- name: Generate documentation site | |
run: mvn -B --no-transfer-progress generate-resources -pl :docs | |
env: | |
GRAPHVIZ_DOT: /usr/bin/dot | |
- name: Setup Pages | |
id: pages | |
uses: actions/[email protected] | |
- name: Upload artifact | |
uses: actions/[email protected] | |
with: | |
path: docs/target/html | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/[email protected] |