From 2c6006eeff8a5a65d4753cf6e78b387456acd1ce Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Mon, 15 Apr 2024 13:32:07 +0100 Subject: [PATCH] Move verification into reusable workflow Closes gh-40350 --- .../workflows/build-and-deploy-snapshot.yml | 53 ++---------------- .github/workflows/verify.yml | 55 +++++++++++++++++++ 2 files changed, 61 insertions(+), 47 deletions(-) create mode 100644 .github/workflows/verify.yml diff --git a/.github/workflows/build-and-deploy-snapshot.yml b/.github/workflows/build-and-deploy-snapshot.yml index cb81efb11764..489cb12d30fa 100644 --- a/.github/workflows/build-and-deploy-snapshot.yml +++ b/.github/workflows/build-and-deploy-snapshot.yml @@ -68,51 +68,10 @@ jobs: echo "version=$version" >> $GITHUB_OUTPUT outputs: version: ${{ steps.read-version.outputs.version }} - run-verification-tests: - name: Verify ${{ needs.build-and-deploy-snapshot.outputs.version }} - runs-on: ubuntu-latest + verify: + name: Verify needs: build-and-deploy-snapshot - steps: - - name: Check Out Release Verification Tests - uses: actions/checkout@v4 - with: - repository: spring-projects/spring-boot-release-verification - ref: 'main' - token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} - - name: Check Out Send Notification Action - uses: actions/checkout@v4 - with: - path: spring-boot - sparse-checkout: .github/actions/send-notification - - name: Set Up Java - uses: actions/setup-java@v4 - with: - distribution: 'liberica' - java-version: 17 - - name: Set Up Gradle - uses: gradle/actions/setup-gradle@1168cd3d07c1876a65e1724114de42ccbdfa7b78 - with: - cache-read-only: false - - name: Configure Gradle Properties - shell: bash - run: | - mkdir -p $HOME/.gradle - echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties - - name: Run Release Verification Tests - env: - RVT_VERSION: ${{ needs.build-and-deploy-snapshot.outputs.version }} - RVT_RELEASE_TYPE: oss - run: ./gradlew spring-boot-release-verification-tests:test - - name: Upload Build Reports on Failure - uses: actions/upload-artifact@v4 - if: failure() - with: - name: build-reports - path: '**/build/reports/' - - name: Send Notification - uses: ./spring-boot/.github/actions/send-notification - if: always() - with: - webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }} - status: ${{ job.status }} - run-name: ${{ format('{0} | Verification | {1}', github.ref_name, needs.build-and-deploy-snapshot.outputs.version) }} + uses: .github/workflows/verify.yml + secrets: inherit + with: + version: ${{ needs.build-and-deploy-snapshot.outputs.version }} diff --git a/.github/workflows/verify.yml b/.github/workflows/verify.yml new file mode 100644 index 000000000000..98adc05a474d --- /dev/null +++ b/.github/workflows/verify.yml @@ -0,0 +1,55 @@ +name: Verify +on: + workflow-call: + inputs: + version: + required: true + type: string +jobs: + verify: + name: Verify + runs-on: ubuntu-latest + steps: + - name: Check Out Release Verification Tests + uses: actions/checkout@v4 + with: + repository: spring-projects/spring-boot-release-verification + ref: 'main' + token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} + - name: Check Out Send Notification Action + uses: actions/checkout@v4 + with: + path: spring-boot + sparse-checkout: .github/actions/send-notification + - name: Set Up Java + uses: actions/setup-java@v4 + with: + distribution: 'liberica' + java-version: 17 + - name: Set Up Gradle + uses: gradle/actions/setup-gradle@1168cd3d07c1876a65e1724114de42ccbdfa7b78 #v3.2.1 + with: + cache-read-only: false + - name: Configure Gradle Properties + shell: bash + run: | + mkdir -p $HOME/.gradle + echo 'org.gradle.daemon=false' >> $HOME/.gradle/gradle.properties + - name: Run Release Verification Tests + env: + RVT_VERSION: ${{ inputs.version }} + RVT_RELEASE_TYPE: oss + run: ./gradlew spring-boot-release-verification-tests:test + - name: Upload Build Reports on Failure + uses: actions/upload-artifact@v4 + if: failure() + with: + name: build-reports + path: '**/build/reports/' + - name: Send Notification + uses: ./spring-boot/.github/actions/send-notification + if: always() + with: + webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }} + status: ${{ job.status }} + run-name: ${{ format('{0} | Verification | {1}', github.ref_name, inputs.version) }}