Browse Source

Update PR workflow to use shared build action

Closes gh-42573
pull/42868/head
Andy Wilkinson 1 year ago
parent
commit
820b42cbcb
  1. 5
      .github/actions/build/action.yml
  2. 6
      .github/actions/prepare-gradle-build/action.yml
  3. 1
      .github/workflows/build-and-deploy-snapshot.yml
  4. 22
      .github/workflows/build-pull-request.yml
  5. 1
      .github/workflows/ci.yml
  6. 1
      .github/workflows/release.yml

5
.github/actions/build/action.yml

@ -16,6 +16,10 @@ inputs:
develocity-access-key: develocity-access-key:
description: 'Access key for authentication with ge.spring.io' description: 'Access key for authentication with ge.spring.io'
required: false required: false
gradle-cache-read-only:
description: 'Whether Gradle''s cache should be read only'
required: false
default: 'true'
java-distribution: java-distribution:
description: 'Java distribution to use' description: 'Java distribution to use'
required: false required: false
@ -49,6 +53,7 @@ runs:
- name: Prepare Gradle Build - name: Prepare Gradle Build
uses: ./.github/actions/prepare-gradle-build uses: ./.github/actions/prepare-gradle-build
with: with:
cache-read-only: ${{ inputs.gradle-cache-read-only }}
develocity-access-key: ${{ inputs.develocity-access-key }} develocity-access-key: ${{ inputs.develocity-access-key }}
java-distribution: ${{ inputs.java-distribution }} java-distribution: ${{ inputs.java-distribution }}
java-early-access: ${{ inputs.java-early-access }} java-early-access: ${{ inputs.java-early-access }}

6
.github/actions/prepare-gradle-build/action.yml

@ -1,6 +1,10 @@
name: Prepare Gradle Build name: Prepare Gradle Build
description: 'Prepares a Gradle build. Sets up Java and Gradle and configures Gradle properties' description: 'Prepares a Gradle build. Sets up Java and Gradle and configures Gradle properties'
inputs: inputs:
cache-read-only:
description: 'Whether Gradle''s cache should be read only'
required: false
default: 'true'
develocity-access-key: develocity-access-key:
description: 'Access key for authentication with ge.spring.io' description: 'Access key for authentication with ge.spring.io'
required: false required: false
@ -38,7 +42,7 @@ runs:
- name: Set Up Gradle - name: Set Up Gradle
uses: gradle/actions/setup-gradle@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0 uses: gradle/actions/setup-gradle@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0
with: with:
cache-read-only: false cache-read-only: ${{ inputs.cache-read-only }}
develocity-access-key: ${{ inputs.develocity-access-key }} develocity-access-key: ${{ inputs.develocity-access-key }}
- name: Configure Gradle Properties - name: Configure Gradle Properties
shell: bash shell: bash

1
.github/workflows/build-and-deploy-snapshot.yml

@ -22,6 +22,7 @@ jobs:
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }} commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }} commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
gradle-cache-read-only: false
publish: true publish: true
- name: Deploy - name: Deploy
uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1 uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1

22
.github/workflows/build-pull-request.yml

@ -8,27 +8,11 @@ jobs:
if: ${{ github.repository == 'spring-projects/spring-boot' }} if: ${{ github.repository == 'spring-projects/spring-boot' }}
runs-on: ${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }} runs-on: ${{ vars.UBUNTU_MEDIUM || 'ubuntu-latest' }}
steps: steps:
- name: Free Disk Space - name: Check Out Code
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
with:
docker-images: false
large-packages: false
- name: Set Up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'liberica'
java-version: '17'
- name: Check Out
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0
- name: Set Up Gradle
uses: gradle/actions/setup-gradle@d156388eb19639ec20ade50009f3d199ce1e2808 # v4.1.0
- name: Build - name: Build
env: id: build
CI: 'true' uses: ./.github/actions/build
GRADLE_ENTERPRISE_URL: 'https://ge.spring.io'
run: ./gradlew -Dorg.gradle.internal.launcher.welcomeMessageEnabled=false --no-daemon --no-parallel --continue build
- name: Print JVM Thread Dumps When Cancelled - name: Print JVM Thread Dumps When Cancelled
if: cancelled() if: cancelled()
uses: ./.github/actions/print-jvm-thread-dumps uses: ./.github/actions/print-jvm-thread-dumps

1
.github/workflows/ci.yml

@ -50,6 +50,7 @@ jobs:
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }} commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }} commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
gradle-cache-read-only: false
java-early-access: ${{ matrix.java.early-access || 'false' }} java-early-access: ${{ matrix.java.early-access || 'false' }}
java-distribution: ${{ matrix.java.distribution }} java-distribution: ${{ matrix.java.distribution }}
java-toolchain: ${{ matrix.java.toolchain }} java-toolchain: ${{ matrix.java.toolchain }}

1
.github/workflows/release.yml

@ -22,6 +22,7 @@ jobs:
commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }} commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }}
commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }} commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
gradle-cache-read-only: false
publish: true publish: true
- name: Stage Release - name: Stage Release
uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1 uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1

Loading…
Cancel
Save