pr-build-workflow.yml 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. name: PR Build
  2. on: pull_request
  3. env:
  4. DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
  5. permissions:
  6. contents: read
  7. jobs:
  8. build:
  9. name: Build
  10. runs-on: ubuntu-latest
  11. if: ${{ github.repository == 'spring-projects/spring-security' }}
  12. steps:
  13. - uses: actions/checkout@v4
  14. - name: Set up gradle
  15. uses: spring-io/spring-gradle-build-action@v2
  16. with:
  17. java-version: '17'
  18. distribution: 'temurin'
  19. - name: Build with Gradle
  20. run: ./gradlew clean build -PskipCheckExpectedBranchVersion --continue
  21. generate-docs:
  22. name: Generate Docs
  23. runs-on: ubuntu-latest
  24. if: ${{ github.repository == 'spring-projects/spring-security' }}
  25. steps:
  26. - uses: actions/checkout@v4
  27. - name: Set up gradle
  28. uses: spring-io/spring-gradle-build-action@v2
  29. with:
  30. java-version: '17'
  31. distribution: 'temurin'
  32. - name: Run Antora
  33. run: ./gradlew -PbuildSrc.skipTests=true :spring-security-docs:antora
  34. - name: Upload Docs
  35. id: upload
  36. uses: actions/upload-artifact@v4
  37. with:
  38. name: docs
  39. path: docs/build/site
  40. overwrite: true
  41. send-notification:
  42. name: Send Notification
  43. needs: [ build, generate-docs ]
  44. if: ${{ failure() && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'spring-projects/spring-security' }}
  45. runs-on: ubuntu-latest
  46. steps:
  47. - name: Send Notification
  48. uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
  49. with:
  50. webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}