From 975b702591833fccad39ebb5371069bf3a832e8f Mon Sep 17 00:00:00 2001 From: Henry Addo Date: Mon, 20 May 2024 17:11:17 -0400 Subject: [PATCH 1/3] Publish all artifacts based on the supported build targets --- .github/workflows/ci.yml | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e36c3e3..fe886f4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -53,21 +53,46 @@ jobs: path: build-reports.zip publish: - runs-on: ubuntu-latest if: github.repository == 'dropbox/differ' && github.ref == 'refs/heads/main' && github.event_name != 'pull_request' needs: [build] + strategy: + matrix: + include: + - snapshot-target: publishIosArm64PublicationToMavenCentralRepository + os: macos-latest + - snapshot-target: publishJvmPublicationToMavenCentralRepository + os: ubuntu-latest + - snapshot-target: publishLinuxX64PublicationToMavenCentralRepository + os: ubuntu-latest + - release-target: publishIosArm64PublicationToMavenCentral + os: macos-latest + - release-target: publishJvmPublicationToMavenCentral + os: ubuntu-latest + - release-target: publishLinuxX64PublicationToMavenCentral + os: ubuntu-latest + runs-on: ${{ matrix.os }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 + - name: Validate Gradle Wrapper + uses: gradle/wrapper-validation-action@v1 + - uses: actions/cache@v3 + with: + path: | + ~/.konan + key: ${{ runner.os }}-${{ hashFiles('**/.lock') }} - name: Install JDK 11 - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'zulu' java-version: 11 - name: Upload Snapshot - run: ./gradlew :differ:publish + uses: gradle/gradle-build-action@ce999babab2de1c4b649dc15f0ee67e6246c994f + with: + arguments: | + ${{ matrix.snapshot-target }} env: ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} @@ -83,3 +108,7 @@ jobs: env: ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} + with: + arguments: | + ${{ matrix.release-target }} + closeAndReleaseRepository From fc9f1b7c1840eda0444cda51993f4e75c0f98c67 Mon Sep 17 00:00:00 2001 From: Henry Addo Date: Mon, 20 May 2024 17:18:46 -0400 Subject: [PATCH 2/3] Use gradle actions setup-gradle@v3 as the old one has been deprecated --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe886f4..638482b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,7 +89,7 @@ jobs: java-version: 11 - name: Upload Snapshot - uses: gradle/gradle-build-action@ce999babab2de1c4b649dc15f0ee67e6246c994f + uses: gradle/actions/setup-gradle@v3 with: arguments: | ${{ matrix.snapshot-target }} @@ -103,7 +103,7 @@ jobs: run: echo "VERSION_NAME=$(./gradlew -q printVersionName)" >> $GITHUB_ENV - name: Publish release (main only) - run: ./gradlew closeAndReleaseRepository + uses: gradle/actions/setup-gradle@v3 if: success() && !endsWith(env.VERSION_NAME, '-SNAPSHOT') env: ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} From b712b9a1698089cb99e59ff8b51b6ad3dd343eb0 Mon Sep 17 00:00:00 2001 From: Henry Addo Date: Mon, 20 May 2024 17:29:13 -0400 Subject: [PATCH 3/3] Don't use gradle actions/setup-gradle as it's not supported on this project --- .github/workflows/ci.yml | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 638482b..80abde9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -89,10 +89,7 @@ jobs: java-version: 11 - name: Upload Snapshot - uses: gradle/actions/setup-gradle@v3 - with: - arguments: | - ${{ matrix.snapshot-target }} + run: ./gradlew ${{ matrix.snapshot-target }} env: ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} @@ -103,12 +100,10 @@ jobs: run: echo "VERSION_NAME=$(./gradlew -q printVersionName)" >> $GITHUB_ENV - name: Publish release (main only) - uses: gradle/actions/setup-gradle@v3 + run: | + ./gradlew ${{ matrix.release-target }} + ./gradlew closeAndReleaseRepository if: success() && !endsWith(env.VERSION_NAME, '-SNAPSHOT') env: ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_USERNAME }} ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_PASSWORD }} - with: - arguments: | - ${{ matrix.release-target }} - closeAndReleaseRepository