| name: Java CI |
| on: |
| push: |
| branches: |
| - '[4-9]+.[0-9]+.x' |
| pull_request: |
| branches: |
| - '[4-9]+.[0-9]+.x' |
| workflow_dispatch: |
| jobs: |
| build: |
| runs-on: ubuntu-latest |
| permissions: |
| contents: read |
| packages: read |
| steps: |
| - name: "📥 Checkout the repository" |
| uses: actions/checkout@v4 |
| - name: "☕️ Setup JDK" |
| uses: actions/setup-java@v4 |
| with: |
| distribution: 'liberica' |
| java-version: '17' |
| - name: "🐘 Setup Gradle" |
| uses: gradle/actions/setup-gradle@v4 |
| with: |
| develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }} |
| - name: "🔨 Run Build" |
| id: build |
| env: |
| GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} |
| run: ./gradlew build --refresh-dependencies |
| publish: |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' |
| needs: build |
| runs-on: ubuntu-latest |
| permissions: |
| contents: read |
| packages: read |
| steps: |
| - name: "📥 Checkout the repository" |
| uses: actions/checkout@v4 |
| - name: "☕️ Setup JDK" |
| uses: actions/setup-java@v4 |
| with: |
| distribution: 'liberica' |
| java-version: '17' |
| - name: "🐘 Setup Gradle" |
| uses: gradle/actions/setup-gradle@v4 |
| with: |
| develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }} |
| - name: "📤 Publish Snapshot to repo.grails.org" |
| env: |
| GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} |
| GRADLE_PUBLISH_RELEASE: 'false' |
| MAVEN_PUBLISH_URL: ${{ secrets.GRAILS_NEXUS_PUBLISH_SNAPSHOT_URL }} |
| MAVEN_PUBLISH_USERNAME: ${{ secrets.NEXUS_USER }} |
| MAVEN_PUBLISH_PASSWORD: ${{ secrets.NEXUS_PW }} |
| run: ./gradlew publish |
| docs: |
| if: github.event_name == 'workflow_dispatch' || github.event_name == 'push' |
| needs: build |
| runs-on: ubuntu-latest |
| permissions: |
| contents: write |
| packages: read |
| steps: |
| - name: "📥 Checkout the repository" |
| uses: actions/checkout@v4 |
| - name: "☕️ Setup JDK" |
| uses: actions/setup-java@v4 |
| with: |
| distribution: 'liberica' |
| java-version: '17' |
| - name: "🐘 Setup Gradle" |
| uses: gradle/actions/setup-gradle@v4 |
| with: |
| develocity-access-key: ${{ secrets.GRAILS_DEVELOCITY_ACCESS_KEY }} |
| - name: "🔨 Build Docs" |
| id: docs |
| env: |
| GITHUB_MAVEN_PASSWORD: ${{ secrets.GITHUB_TOKEN }} |
| run: ./gradlew docs:docs --refresh-dependencies |
| - name: "🚀 Publish to Github Pages" |
| if: steps.docs.outcome == 'success' |
| uses: apache/grails-github-actions/deploy-github-pages@asf |
| env: |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| GRADLE_PUBLISH_RELEASE: 'false' |
| SOURCE_FOLDER: docs/build/docs |