|
18 | 18 | env: |
19 | 19 | CI: true |
20 | 20 | FORCED_VERSION: ${{ inputs.forced_version || github.ref }} |
21 | | - ORG_GRADLE_PROJECT_signingKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }} |
22 | | - ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }} |
23 | | - SONATYPE_USERNAME: ${{ secrets.SONATYPEUSERNAME }} |
24 | | - SONATYPE_PASSWORD: ${{ secrets.SONATYPEPASSWORD }} |
25 | | - JAVA_VERSION: 17 |
| 21 | + # Vanniktech maven-publish plugin reads these exact Gradle project property names for signing |
| 22 | + ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }} |
| 23 | + ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }} |
| 24 | + # Vanniktech maven-publish plugin reads these for Central Portal auth |
| 25 | + ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.ORG_KORGE_SONATYPE_USERNAME }} |
| 26 | + ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.ORG_KORGE_SONATYPE_PASSWORD }} |
| 27 | + JAVA_VERSION: 21 |
26 | 28 | JAVA_DISTRIBUTION: zulu |
27 | 29 |
|
28 | 30 | jobs: |
29 | | - ##start: |
30 | | - ## runs-on: ubuntu-latest |
31 | | - ## outputs: |
32 | | - ## stagedRepositoryId: ${{ steps.releaseStep.outputs.stagedRepositoryId }} |
33 | | - ## steps: |
34 | | - ## - { name: Checkout, uses: actions/checkout@v3 } |
35 | | - ## - { name: Set up JDK, uses: actions/setup-java@v3, with: { distribution: "${{ env.JAVA_DISTRIBUTION }}", java-version: "${{ env.JAVA_VERSION }}" } } |
36 | | - ## - { name: Prepare Gradle, uses: gradle/actions/setup-gradle@d9c87d481d55275bb5441eef3fe0e46805f9ef70 } # https://github.com/gradle/actions/releases/tag/v3.5.0 |
37 | | - ## - { id: releaseStep, name: Start Maven Central Staging Repository, run: ./gradlew --no-configuration-cache startReleasingMavenCentral } |
38 | | - |
39 | 31 | publish: |
40 | 32 | strategy: |
41 | 33 | fail-fast: false |
42 | 34 | matrix: |
43 | 35 | include: |
44 | | - - { os: ubuntu-latest, publishTask: "publishLinuxX64PublicationToMavenLocal publishLinuxArm64PublicationToMavenLocal" } |
45 | | - - { os: ubuntu-latest, publishTask: "publishMingwX64PublicationToMavenLocal" } |
46 | | - - { os: ubuntu-latest, publishTask: "publishAndroidDebugPublicationToMavenLocal publishAndroidReleasePublicationToMavenLocal" } |
47 | | - - { os: ubuntu-latest, publishTask: "publishKotlinMultiplatformPublicationToMavenLocal publishJvmPublicationToMavenLocal" } |
48 | | - - { os: ubuntu-latest, publishTask: "publishJsPublicationToMavenLocal publishWasmJsPublicationToMavenLocal" } |
49 | | - - { os: macos-13, publishTask: "publishMacosX64PublicationToMavenLocal publishMacosArm64PublicationToMavenLocal" } |
50 | | - - { os: macos-13, publishTask: "publishTvosArm64PublicationToMavenLocal publishTvosSimulatorArm64PublicationToMavenLocal publishTvosX64PublicationToMavenLocal" } |
51 | | - - { os: macos-13, publishTask: "publishIosArm64PublicationToMavenLocal publishIosSimulatorArm64PublicationToMavenLocal publishIosX64PublicationToMavenLocal" } |
52 | | - - { os: macos-13, publishTask: "publishWatchosArm64PublicationToMavenLocal publishWatchosArm32PublicationToMavenLocal publishWatchosDeviceArm64PublicationToMavenLocal publishWatchosSimulatorArm64PublicationToMavenLocal" } |
| 36 | + - { os: ubuntu-latest, publishTask: "publishLinuxX64PublicationToMavenCentral publishLinuxArm64PublicationToMavenCentral" } |
| 37 | + - { os: ubuntu-latest, publishTask: "publishMingwX64PublicationToMavenCentral" } |
| 38 | + - { os: ubuntu-latest, publishTask: "publishAndroidReleasePublicationToMavenCentral" } |
| 39 | + - { os: ubuntu-latest, publishTask: "publishKotlinMultiplatformPublicationToMavenCentral publishJvmPublicationToMavenCentral" } |
| 40 | + - { os: ubuntu-latest, publishTask: "publishJsPublicationToMavenCentral publishWasmJsPublicationToMavenCentral" } |
| 41 | + - { os: macos-latest, publishTask: "publishMacosX64PublicationToMavenCentral publishMacosArm64PublicationToMavenCentral" } |
| 42 | + - { os: macos-latest, publishTask: "publishTvosArm64PublicationToMavenCentral publishTvosSimulatorArm64PublicationToMavenCentral publishTvosX64PublicationToMavenCentral" } |
| 43 | + - { os: macos-latest, publishTask: "publishIosArm64PublicationToMavenCentral publishIosSimulatorArm64PublicationToMavenCentral publishIosX64PublicationToMavenCentral" } |
| 44 | + - { os: macos-latest, publishTask: "publishWatchosArm64PublicationToMavenCentral publishWatchosArm32PublicationToMavenCentral publishWatchosDeviceArm64PublicationToMavenCentral publishWatchosSimulatorArm64PublicationToMavenCentral" } |
53 | 45 | timeout-minutes: 300 |
54 | 46 | runs-on: ${{ matrix.os }} |
55 | | - ##needs: [start] |
56 | | - ##env: { stagedRepositoryId: "${{ needs.start.outputs.stagedRepositoryId }}" } |
57 | 47 | steps: |
58 | | - ##- { name: Print stagedRepositoryId=$stagedRepositoryId, run: "echo 'stagedRepositoryId: $stagedRepositoryId'" } |
59 | | - - name: Replace MavenLocal with MavenLocal |
60 | | - id: replace |
61 | | - run: | |
62 | | - publishTaskLocal=$(echo "${{ matrix.publishTask }}" | tr -d '\n') |
63 | | - publishTaskRepository=$(echo "${{ matrix.publishTask }}" | sed 's/MavenLocal/MavenRepository/g' | tr -d '\n') |
64 | | - echo "publishTaskLocal=${publishTaskLocal}" >> $GITHUB_ENV |
65 | | - echo "publishTaskRepository=${publishTaskRepository}" >> $GITHUB_ENV |
66 | | - - { name: Print publishTaskLocal, run: "echo 'publishTaskLocal: ${{ env.publishTaskLocal }}'" } |
67 | | - - { name: Print publishTaskRepository, run: "echo 'publishTaskRepository: ${{ env.publishTaskRepository }}'" } |
68 | | - - { name: Checkout, uses: actions/checkout@v3 } |
69 | | - - { name: Use Node.js 20.x, uses: actions/setup-node@v3, with: { node-version: 20.x } } |
70 | | - - { name: Set up JDK, uses: actions/setup-java@v3, with: { distribution: "${{ env.JAVA_DISTRIBUTION }}", java-version: "${{ env.JAVA_VERSION }}" } } |
71 | | - - { name: Prepare Gradle, uses: gradle/actions/setup-gradle@d9c87d481d55275bb5441eef3fe0e46805f9ef70 } # https://github.com/gradle/actions/releases/tag/v3.5.0 |
72 | | - - { name: Initialize Gradle, run: ./gradlew --no-configuration-cache } |
73 | | - - { name: Publish Publications To Maven Local, run: "./gradlew --no-configuration-cache --parallel ${{ env.publishTaskLocal }}" } |
74 | | - - { name: Start Maven Central Staging Repository, run: ./gradlew --no-configuration-cache startReleasingMavenCentral } |
75 | | - - { name: Publish Publications To Maven Repository, run: "./gradlew --no-configuration-cache --parallel --max-workers=8 ${{ env.publishTaskRepository }}" } |
76 | | - - { name: Release to Maven Central, run: ./gradlew --no-configuration-cache releaseMavenCentral } |
77 | | - |
78 | | - ##finalize: |
79 | | - ## runs-on: ubuntu-latest |
80 | | - ## needs: [start, publish] |
81 | | - ## env: { stagedRepositoryId: "${{ needs.start.outputs.stagedRepositoryId }}" } |
82 | | - ## steps: |
83 | | - ## - { name: Checkout, uses: actions/checkout@v3 } |
84 | | - ## - { name: Use Node.js 20.x, uses: actions/setup-node@v3, with: { node-version: 20.x } } |
85 | | - ## - { name: Set up JDK, uses: actions/setup-java@v3, with: { distribution: "${{ env.JAVA_DISTRIBUTION }}", java-version: "${{ env.JAVA_VERSION }}" } } |
86 | | - ## - { name: Prepare Gradle, uses: gradle/actions/setup-gradle@d9c87d481d55275bb5441eef3fe0e46805f9ef70 } # https://github.com/gradle/actions/releases/tag/v3.5.0 |
87 | | - ## - { name: Initialize Gradle, run: ./gradlew --no-configuration-cache } |
88 | | - ## - { name: Release to Maven Central, run: ./gradlew --no-configuration-cache releaseMavenCentral } |
| 48 | + - { name: "Checkout", uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd } # https://github.com/actions/checkout/releases/tag/v6.0.2 |
| 49 | + - { name: "Use Node.js 24.x", uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f, with: { node-version: 24.x } } # https://github.com/actions/setup-node/releases/tag/v6.3.0 |
| 50 | + - { name: "Set up JDK", uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654, with: { distribution: "${{ env.JAVA_DISTRIBUTION }}", java-version: "${{ env.JAVA_VERSION }}" } } # https://github.com/actions/setup-java/releases/tag/v5.2.0 |
| 51 | + - { name: "Prepare Gradle", uses: gradle/actions/setup-gradle@39e147cb9de83bb9910b8ef8bd7fff0ee20fcd6f } # https://github.com/gradle/actions/releases/tag/v6.0.1 |
| 52 | + - { name: "Initialize Gradle", run: "./gradlew --no-configuration-cache" } |
| 53 | + - { name: "Publish to Maven Central", run: "./gradlew --no-configuration-cache --parallel --max-workers=8 ${{ matrix.publishTask }}" } |
0 commit comments