continuous-integration-workflow.yml 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. name: Build and Deploy
  2. on:
  3. push:
  4. branches:
  5. - '**'
  6. schedule:
  7. - cron: '0 10 * * *' # Once per day at 10am UTC
  8. workflow_dispatch:
  9. env:
  10. DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_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. test:
  27. name: Test Against Snapshots
  28. uses: spring-io/spring-security-release-tools/.github/workflows/test.yml@v1
  29. with:
  30. test-args: --refresh-dependencies --stacktrace -PforceMavenRepositories=snapshot -PspringFrameworkVersion=7.+ -PspringSecurityVersion=7.+
  31. secrets: inherit
  32. deploy-artifacts:
  33. name: Deploy Artifacts
  34. needs: [build, test]
  35. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@v1
  36. with:
  37. should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
  38. default-publish-milestones-central: true
  39. secrets: inherit
  40. deploy-docs:
  41. name: Deploy Docs
  42. needs: [build, test]
  43. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-docs.yml@v1
  44. with:
  45. should-deploy-docs: ${{ needs.build.outputs.should-deploy-artifacts }}
  46. secrets: inherit
  47. perform-release:
  48. name: Perform Release
  49. needs: [deploy-artifacts, deploy-docs]
  50. uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@v1
  51. with:
  52. should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
  53. project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
  54. milestone-repo-url: https://repo1.maven.org/maven2
  55. release-repo-url: https://repo1.maven.org/maven2
  56. artifact-path: org/springframework/security/spring-security-oauth2-authorization-server
  57. slack-announcing-id: spring-authorization-server-announcing
  58. secrets: inherit