pr-build-workflow.yml 1.6 KB

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