CI #878
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - '*' | |
| schedule: | |
| - cron: '0 0 * * *' | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| jdk: | |
| - version: 17 | |
| - version: 21 | |
| - version: 24 | |
| distribution: oracle | |
| runs-on: ubuntu-latest | |
| name: "Build (JDK ${{ matrix.jdk.version }})" | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 | |
| id: setup-gradle-jdk | |
| with: | |
| distribution: liberica | |
| java-version: 17 | |
| - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 | |
| if: matrix.jdk.version != '17' | |
| with: | |
| distribution: ${{ matrix.jdk.distribution || 'liberica' }} | |
| java-version: ${{ matrix.jdk.version }} | |
| - name: 'Prepare TOOLCHAIN_JDK env var' | |
| if: matrix.jdk.version != '17' | |
| shell: bash | |
| run: echo "TOOLCHAIN_JDK=$JAVA_HOME" >> $GITHUB_ENV | |
| - uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1 | |
| with: | |
| cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | |
| - shell: bash | |
| env: | |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} | |
| JAVA_HOME: ${{ steps.setup-gradle-jdk.outputs.path }} | |
| run: | | |
| ./gradlew \ | |
| -Porg.gradle.java.installations.auto-download=false \ | |
| "-Dscan.value.GitHub job=${{ github.job }}" \ | |
| -Dscan.tag.JDK_${{ matrix.jdk.version }} \ | |
| -PjavaToolchainVersion=${{ matrix.jdk.version }} \ | |
| --scan \ | |
| --refresh-dependencies \ | |
| javaToolchains \ | |
| build | |
| ea-build: | |
| strategy: | |
| matrix: | |
| jdk: [ '25' ] | |
| runs-on: ubuntu-latest | |
| name: "Early Access Build (JDK ${{ matrix.jdk }})" | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 | |
| id: setup-gradle-jdk | |
| with: | |
| distribution: liberica | |
| java-version: 17 | |
| - uses: oracle-actions/setup-java@8fb9d7717810ccde9f8d4bef1e6f43d180f506b5 # v1.4.1 | |
| with: | |
| website: jdk.java.net | |
| release: ${{ matrix.jdk }} | |
| version: latest | |
| - name: 'Prepare TOOLCHAIN_JDK env var' | |
| shell: bash | |
| run: echo "TOOLCHAIN_JDK=$JAVA_HOME" >> $GITHUB_ENV | |
| - uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1 | |
| with: | |
| cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | |
| - shell: bash | |
| env: | |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} | |
| JAVA_HOME: ${{ steps.setup-gradle-jdk.outputs.path }} | |
| run: | | |
| ./gradlew \ | |
| -Porg.gradle.java.installations.auto-download=false \ | |
| "-Dscan.value.GitHub job=${{ github.job }}" \ | |
| -Dscan.tag.JDK_${{ matrix.jdk }} \ | |
| -PjavaToolchainVersion=${{ matrix.jdk }} \ | |
| --scan \ | |
| --refresh-dependencies \ | |
| javaToolchains \ | |
| build | |
| publish: | |
| name: Publish Snapshots | |
| needs: build | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'push' && github.repository == 'junit-team/testng-engine' && (startsWith(github.ref, 'refs/heads/releases/') || github.ref == 'refs/heads/main') | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1 | |
| with: | |
| distribution: liberica | |
| java-version: 17 | |
| - uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244 # v4.3.1 | |
| with: | |
| cache-encryption-key: ${{ secrets.GRADLE_ENCRYPTION_KEY }} | |
| - shell: bash | |
| env: | |
| DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} | |
| ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }} | |
| ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }} | |
| run: | | |
| ./gradlew \ | |
| -Porg.gradle.java.installations.auto-download=false \ | |
| "-Dscan.value.GitHub job=${{ github.job }}" \ | |
| -Dscan.tag.publish \ | |
| --scan \ | |
| javaToolchains \ | |
| publish \ | |
| -x check \ | |
| --no-configuration-cache |