continuous-integration-workflow.yml 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. name: CI
  2. on:
  3. push:
  4. branches-ignore:
  5. - "dependabot/**"
  6. schedule:
  7. - cron: '0 10 * * *' # Once per day at 10am UTC
  8. workflow_dispatch: # Manual trigger
  9. env:
  10. DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
  11. permissions:
  12. contents: read
  13. jobs:
  14. build:
  15. name: Build
  16. uses: spring-io/spring-security-release-tools/.github/workflows/build.yml@v1
  17. strategy:
  18. matrix:
  19. os: [ ubuntu-latest, windows-latest ]
  20. jdk: [ 17 ]
  21. with:
  22. runs-on: ${{ matrix.os }}
  23. java-version: ${{ matrix.jdk }}
  24. distribution: temurin
  25. secrets: inherit
  26. deploy-artifacts:
  27. name: Deploy Artifacts
  28. needs: [ build]
  29. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@v1
  30. with:
  31. should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
  32. default-publish-milestones-central: true
  33. secrets: inherit
  34. deploy-schema:
  35. name: Deploy Schema
  36. needs: [ build ]
  37. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-schema.yml@v1
  38. with:
  39. should-deploy-schema: ${{ needs.build.outputs.should-deploy-artifacts }}
  40. secrets: inherit
  41. perform-release:
  42. name: Perform Release
  43. needs: [ deploy-artifacts, deploy-schema ]
  44. uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@v1
  45. with:
  46. should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
  47. project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
  48. milestone-repo-url: https://repo1.maven.org/maven2
  49. release-repo-url: https://repo1.maven.org/maven2
  50. artifact-path: org/springframework/security/spring-security-core
  51. slack-announcing-id: spring-security-announcing
  52. secrets: inherit
  53. send-notification:
  54. name: Send Notification
  55. needs: [ perform-release ]
  56. if: ${{ !success() }}
  57. runs-on: ubuntu-latest
  58. steps:
  59. - name: Send Notification
  60. uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
  61. with:
  62. webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}