Skip to content

build: consolidate GH actions #1

build: consolidate GH actions

build: consolidate GH actions #1

Workflow file for this run

name: CI Pipeline
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_dispatch:
permissions:
contents: read
jobs:
gradle_check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Set up JDK 11
uses: actions/setup-java@main
with:
java-version: '11'
distribution: 'temurin'
- name: Build with Gradle
uses: gradle/actions/setup-gradle@main
- name: Run Gradle Check
run: gradle check
gradle_publish:
needs: gradle_check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
with:
fetch-depth: 0
- name: Set up JDK 11
uses: actions/setup-java@main
with:
java-version: '11'
distribution: 'temurin'
- name: Build with Gradle
uses: gradle/actions/setup-gradle@main
- name: Publish
run: gradle publish
env:
ossrhUsername: ${{ secrets.OSSRHUSERNAME }}
ossrhPassword: ${{ secrets.OSSRHPASSWORD }}
gradle_sphinx:
needs: gradle_publish
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@main
- name: Install XSLT Processor
run: sudo apt-get install xsltproc sphinx-common
- name: Install dependencies
run: pip install furo myst_parser sphinx-prompt sphinx_substitution_extensions sphinx_issues sphinx_inline_tabs pygments
- name: Checkout project sources
uses: actions/checkout@main
with:
ref: master
fetch-depth: 0
- name: Setup Gradle
uses: gradle/actions/setup-gradle@main
- name: Run build with Gradle Wrapper
run: FLOATING_TOC=false gradle xmldoc sphinx
- name: Deploy
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
maven_publish:
needs: gradle_sphinx
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Set up JDK 11
uses: actions/setup-java@main
with:
java-version: '11'
distribution: 'temurin'
cache: maven
server-id: sonatype-nexus-snapshots
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Build with Maven
run: mvn -B deploy --file pom.xml -DdisableXmlReport=true -Djacoco.skip=true -Dpmd.skip=true
env:
MAVEN_USERNAME: ${{ secrets.OSSRHUSERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRHPASSWORD }}