diff --git a/.github/workflows/build-and-deploy-snapshot.yml b/.github/workflows/build-and-deploy-snapshot.yml index 6b6ea25d5bd..b903fc30c9b 100644 --- a/.github/workflows/build-and-deploy-snapshot.yml +++ b/.github/workflows/build-and-deploy-snapshot.yml @@ -59,3 +59,60 @@ jobs: status: ${{ job.status }} build-scan-url: ${{ steps.build.outputs.build-scan-url }} run-name: ${{ format('{0} | Linux | Java 17', github.ref_name) }} + - name: Read version from gradle.properties + id: read-version + shell: bash + run: | + version=$(sed -n 's/version=\(.*\)/\1/p' gradle.properties) + echo "Version is $version" + 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 + 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@417ae3ccd767c252f5661f1ace9f835f9654f2b5 + 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) }}