continuous-integration-workflow.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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=6.1.+ -PspringSecurityVersion=6.3.+
  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. secrets: inherit
  39. deploy-docs:
  40. name: Deploy Docs
  41. needs: [build, test]
  42. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-docs.yml@v1
  43. with:
  44. should-deploy-docs: ${{ needs.build.outputs.should-deploy-artifacts }}
  45. secrets: inherit
  46. perform-release:
  47. name: Perform Release
  48. needs: [deploy-artifacts, deploy-docs]
  49. uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@v1
  50. with:
  51. should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
  52. project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
  53. milestone-repo-url: https://repo.spring.io/artifactory/milestone
  54. release-repo-url: https://repo1.maven.org/maven2
  55. artifact-path: org/springframework/security/spring-security-oauth2-authorization-server
  56. slack-announcing-id: spring-authorization-server-announcing
  57. secrets: inherit