name: CI Pipeline on: push: branches: [ "master" ] pull_request: branches: [ "master" ] workflow_dispatch: permissions: write-all jobs: gradle_check: runs-on: ubuntu-latest steps: - uses: actions/checkout@main with: fetch-depth: 0 - name: Set up JDK 17 uses: actions/setup-java@main with: java-version: '17' distribution: 'temurin' - name: Build with Gradle uses: gradle/actions/setup-gradle@main - name: Run Gradle Check run: ./gradlew check maven_verify: needs: gradle_check runs-on: ubuntu-latest steps: - uses: actions/checkout@main with: fetch-depth: 0 - name: Set up JDK 17 uses: actions/setup-java@main with: java-version: '17' distribution: 'temurin' cache: maven server-id: sonatype-nexus-snapshots server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD - name: Build with Maven run: mvn -B verify --file pom.xml -DdisableXmlReport=true -Djacoco.skip=true -Dpmd.skip=true env: MAVEN_USERNAME: ${{ secrets.OSSRHUSERNAME }} MAVEN_PASSWORD: ${{ secrets.OSSRHPASSWORD }} gradle_publish: needs: maven_verify runs-on: ubuntu-latest steps: - uses: actions/checkout@main with: fetch-depth: 0 - name: Set up JDK 17 uses: actions/setup-java@main with: java-version: '17' distribution: 'temurin' - name: Build with Gradle uses: gradle/actions/setup-gradle@main - name: Publish with Gradle run: ./gradlew publish env: ossrhUsername: ${{ secrets.OSSRHUSERNAME }} ossrhPassword: ${{ secrets.OSSRHPASSWORD }} - uses: actions/setup-python@main - name: Install XSLT Processor run: sudo apt-get install xsltproc sphinx-common - name: Install Python dependencies run: pip install furo myst_parser sphinx-prompt sphinx_substitution_extensions sphinx_issues sphinx_inline_tabs pygments - name: Build Sphinx documentation with Gradle run: FLOATING_TOC=false ./gradlew -DFLOATING_TOC=false gitChangelogTask renderRR xslt xmldoc sphinx - name: Deploy Sphinx documentation uses: actions/configure-pages@main - name: Upload artifact uses: actions/upload-pages-artifact@main with: path: 'build/sphinx' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@main