Skip to content

[patch] libraries Gradle Libraries Update #1518

[patch] libraries Gradle Libraries Update

[patch] libraries Gradle Libraries Update #1518

Workflow file for this run

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)