Merge pull request #1909 from micronaut-projects/renovate/micronaut.p… #251
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
# WARNING: Do not edit this file directly. Instead, go to: | |
# | |
# https://github.com/micronaut-projects/micronaut-project-template/tree/master/.github/workflows | |
# | |
# and edit them there. Note that it will be sync'ed to all the Micronaut repos | |
name: Java CI | |
on: | |
push: | |
branches: | |
- master | |
- '[1-9]+.[0-9]+.x' | |
pull_request: | |
branches: | |
- master | |
- '[1-9]+.[0-9]+.x' | |
jobs: | |
build: | |
if: github.repository != 'micronaut-projects/micronaut-project-template' | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java: ['17', '21'] | |
env: | |
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} | |
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} | |
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} | |
GH_TOKEN_PUBLIC_REPOS_READONLY: ${{ secrets.GH_TOKEN_PUBLIC_REPOS_READONLY }} | |
GH_USERNAME: ${{ secrets.GH_USERNAME }} | |
TESTCONTAINERS_RYUK_DISABLED: true | |
PREDICTIVE_TEST_SELECTION: "${{ github.event_name == 'pull_request' && 'true' || 'false' }}" | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
# https://github.com/actions/virtual-environments/issues/709 | |
- name: "🗑 Free disk space" | |
run: | | |
sudo rm -rf "/usr/local/share/boost" | |
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
sudo apt-get clean | |
df -h | |
- name: "📥 Checkout repository" | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: "🔧 Setup GraalVM CE" | |
uses: graalvm/setup-graalvm@v1.2.6 | |
with: | |
distribution: 'graalvm' | |
java-version: ${{ matrix.java }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
- name: "🔧 Setup Gradle" | |
uses: gradle/gradle-build-action@v3.5.0 | |
- name: "❓ Optional setup step" | |
run: | | |
[ -f ./setup.sh ] && ./setup.sh || [ ! -f ./setup.sh ] | |
- name: "🛠 Build with Gradle" | |
id: gradle | |
run: | | |
./gradlew check --no-daemon --continue | |
- name: "🔎 Run static analysis" | |
if: env.SONAR_TOKEN != '' && matrix.java == '17' | |
run: | | |
./gradlew sonar | |
- name: "📊 Publish Test Report" | |
if: always() | |
uses: mikepenz/action-junit-report@v5 | |
with: | |
check_name: Java CI / Test Report (${{ matrix.java }}) | |
report_paths: '**/build/test-results/test/TEST-*.xml' | |
check_retries: 'true' | |
- name: "📜 Upload binary compatibility check results" | |
if: matrix.java == '17' | |
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 | |
with: | |
name: binary-compatibility-reports | |
path: "**/build/reports/binary-compatibility-*.html" | |
- name: "📦 Publish to Sonatype Snapshots" | |
if: success() && github.event_name == 'push' && matrix.java == '17' | |
env: | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
run: ./gradlew publishToSonatype docs --no-daemon | |
- name: "❓ Determine docs target repository" | |
uses: haya14busa/action-cond@v1 | |
id: docs_target | |
with: | |
cond: ${{ github.repository == 'micronaut-projects/micronaut-core' }} | |
if_true: "micronaut-projects/micronaut-docs" | |
if_false: ${{ github.repository }} | |
- name: "📑 Publish to Github Pages" | |
if: success() && github.event_name == 'push' && matrix.java == '17' | |
uses: micronaut-projects/github-pages-deploy-action@master | |
env: | |
TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }} | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
BRANCH: gh-pages | |
FOLDER: build/docs |