Update Kotlin #10577
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 |