Update Kotlin #10572
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: build | |
on: | |
pull_request: {} | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
env: | |
GRADLE_OPTS: "-Dorg.gradle.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dkotlin.incremental=false" | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ | |
# Check https://github.com/actions/runner-images?tab=readme-ov-file#available-images for actual versions for latest | |
macOS-latest, | |
windows-latest, | |
ubuntu-latest | |
] | |
java-version: [17, 21, 23] | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java-version }} | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
with: | |
validate-wrappers: true | |
- name: Run All Tests | |
run: ./gradlew check | |
- name: Upload Test Failures | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-failures-${{ matrix.os }}-${{ matrix.java-version }} | |
path: | | |
**/build/reports/tests/*/ | |
**/build/paparazzi/failures/ | |
paparazzi-gradle-plugin/src/test/projects/**/build/reports/paparazzi/**/images/ | |
publish: | |
runs-on: ubuntu-latest | |
if: github.ref == 'refs/heads/master' | |
needs: | |
- build | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Configure JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: 17 | |
- name: Publish Artifacts | |
run: ./gradlew publishMavenPublicationToMavenCentralRepository paparazzi-gradle-plugin:publishAllPublicationsToMavenCentralRepository --no-parallel | |
env: | |
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} | |
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }} | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Prep mkdocs | |
run: .github/workflows/prepare_mkdocs.sh | |
- name: Build mkdocs | |
run: | | |
pip3 install -r .github/workflows/requirements.txt | |
mkdocs build | |
- name: Deploy docs to website | |
if: success() | |
uses: JamesIves/github-pages-deploy-action@releases/v3 | |
with: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
BRANCH: gh-pages | |
FOLDER: site | |
CLEAN: true |