[patch] libraries Gradle Libraries Update #1518
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: Build | |
| on: | |
| push: | |
| branches-ignore: | |
| - rebase-pull-request** | |
| - cherry-pick-rebase-pull-request** | |
| tags-ignore: | |
| - '**' | |
| jobs: | |
| build-job: | |
| name: "Build Linux" | |
| runs-on: ubuntu-latest | |
| concurrency: | |
| group: ${{ github.ref }}-linux | |
| env: | |
| GH_TOKEN: ${{ secrets.TESTMINTS_PAT }} | |
| GITHUB_TOKEN: ${{ secrets.TESTMINTS_PAT }} | |
| ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} | |
| ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} | |
| SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
| SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
| outputs: | |
| version: ${{ env.TAGGER_VERSION }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set Up Git User | |
| run: | | |
| git config user.name "github-actions[bot]" | |
| git config user.email "6215634+robertfmurdock@users.noreply.github.com" | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '21' | |
| - uses: testspace-com/setup-testspace@v1 | |
| if: ${{ github.ref == 'refs/heads/master' }} | |
| with: | |
| domain: robertfmurdock | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| with: | |
| cache-read-only: ${{ github.ref != 'refs/heads/master' }} | |
| - name: Check Fingerprint π¨ | |
| continue-on-error: true | |
| run: | | |
| export PREVIOUS_VERSION=$(./gradlew previousVersion -q) | |
| gh release download "$PREVIOUS_VERSION" -p "aggregate-fingerprint.txt" -O build/prev-aggregate-fingerprint.txt || true | |
| ./gradlew -q compareAggregateFingerprints \ | |
| -Pversion=$PREVIOUS_VERSION \ | |
| -PfingerprintCompareToFile=build/prev-aggregate-fingerprint.txt \ | |
| && echo "FINGERPRINT_MATCHES_PREVIOUS=true" >> "$GITHUB_ENV" \ | |
| || echo "FINGERPRINT_MATCHES_PREVIOUS=false" >> "$GITHUB_ENV" | |
| - name: Diff Fingerprint Manifest π | |
| if: ${{ env.FINGERPRINT_MATCHES_PREVIOUS == 'false' }} | |
| continue-on-error: true | |
| run: | | |
| export PREVIOUS_VERSION=$(./gradlew previousVersion -q) | |
| gh release download "$PREVIOUS_VERSION" -p "aggregate-fingerprint-manifest.log" -O build/prev-aggregate-fingerprint-manifest.log || true | |
| diff -u build/prev-aggregate-fingerprint-manifest.log build/aggregate-fingerprint-manifest.log \ | |
| && echo "UNEXPECTED: aggregate log matches release $PREVIOUS_VERSION" | |
| - name: Generate Version π’ | |
| run: ./gradlew calculateVersion -PexportToGithub=true -PtaggerForceSnapshot=${{ env.FINGERPRINT_MATCHES_PREVIOUS }} --scan | |
| - name: Build π¨ | |
| run: | | |
| ./gradlew \ | |
| assemble \ | |
| check \ | |
| -Pversion=${{ env.TAGGER_VERSION }} \ | |
| -x :plugins-test:mint-action-test:compileTestKotlinIosArm64 \ | |
| -x :plugins-test:mint-action-test:compileTestKotlinMacosArm64 \ | |
| --scan \ | |
| --no-configuration-cache \ | |
| - name: Release π | |
| run: | | |
| ./gradlew release \ | |
| -Pversion=${{ env.TAGGER_VERSION }} \ | |
| -Pgradle.publish.key=${{ secrets.GRADLE_PUBLISH_KEY }} \ | |
| -Pgradle.publish.secret=${{ secrets.GRADLE_PUBLISH_SECRET }} \ | |
| --scan \ | |
| --no-configuration-cache | |
| - name: Include fingerprint | |
| continue-on-error: true | |
| run: | | |
| gh release upload ${{ env.TAGGER_VERSION }} \ | |
| build/aggregate-fingerprint.txt \ | |
| build/aggregate-fingerprint-manifest.log \ | |
| --clobber | |
| - name: Update Contributions | |
| uses: robertfmurdock/coupling-contribution-action@v3 | |
| with: | |
| save-contribution: ${{ github.ref == 'refs/heads/master' }} | |
| coupling-secret: ${{ secrets.COUPLING_API_PARTY_SECRET }} | |
| party-id: 9df8b8ef-f10f-4b75-bde1-d691c148378c | |
| contribution-file: build/digger/current.json | |
| cycle-time-from-first-commit: true | |
| - name: Collect Results | |
| if: ${{ always() }} | |
| run: ./gradlew collectResults | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ always() }} | |
| with: | |
| name: test-output | |
| path: build/test-output/ | |
| - name: Push result to Testspace server | |
| if: ${{ github.ref == 'refs/heads/master' && always()}} | |
| run: | | |
| testspace $(find . -path *test-results* -name *.xml) | |
| build-job-mac: | |
| name: "Build Mac" | |
| runs-on: macos-latest | |
| needs: build-job | |
| concurrency: | |
| group: ${{ github.ref }}-mac | |
| cancel-in-progress: true | |
| env: | |
| TAGGER_VERSION: ${{needs.build-job.outputs.version}} | |
| GH_TOKEN: ${{ secrets.TESTMINTS_PAT }} | |
| GITHUB_TOKEN: ${{ secrets.TESTMINTS_PAT }} | |
| ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }} | |
| ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }} | |
| SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
| SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'zulu' | |
| java-version: '21' | |
| - uses: testspace-com/setup-testspace@v1 | |
| if: ${{ github.ref == 'refs/heads/master' }} | |
| with: | |
| domain: robertfmurdock | |
| - name: Setup Gradle | |
| uses: gradle/actions/setup-gradle@v4 | |
| with: | |
| cache-read-only: ${{ github.ref != 'refs/heads/master' }} | |
| - name: Release π¨ | |
| run: | | |
| ./gradlew release \ | |
| -Pversion=${{ env.TAGGER_VERSION }} \ | |
| -Prelease-target=mac \ | |
| --scan \ | |
| --no-configuration-cache \ | |
| -x :plugins:publish \ | |
| -x :plugins:initializeSonatypeStagingRepository \ | |
| -x :plugins:closeSonatypeStagingRepository \ | |
| -x :plugins:action-mint-plugin:publishPlugins \ | |
| -x :plugins:mint-logs-plugin:publishPlugins | |
| - name: Collect Test Results | |
| if: ${{ always() }} | |
| run: ./gradlew collectResults | |
| - uses: actions/upload-artifact@v4 | |
| if: ${{ always() }} | |
| with: | |
| name: test-output | |
| path: | | |
| build/test-output/ | |
| - name: Push result to Testspace server | |
| if: ${{ github.ref == 'refs/heads/master' && always()}} | |
| run: | | |
| testspace $(find . -path *test-results* -name *.xml) |