continuous-integration-workflow.yml 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. jobs:
  12. build:
  13. name: Build
  14. uses: spring-io/spring-security-release-tools/.github/workflows/build.yml@v1
  15. strategy:
  16. matrix:
  17. os: [ubuntu-latest, windows-latest]
  18. jdk: [17]
  19. with:
  20. runs-on: ${{ matrix.os }}
  21. java-version: ${{ matrix.jdk }}
  22. distribution: temurin
  23. secrets: inherit
  24. test:
  25. name: Test Against Snapshots
  26. uses: spring-io/spring-security-release-tools/.github/workflows/test.yml@v1
  27. with:
  28. test-args: --refresh-dependencies --stacktrace -PforceMavenRepositories=snapshot -PspringFrameworkVersion=6.2.+ -PspringSecurityVersion=6.4.+
  29. secrets: inherit
  30. deploy-artifacts:
  31. name: Deploy Artifacts
  32. needs: [build, test]
  33. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@v1
  34. with:
  35. should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
  36. secrets: inherit
  37. deploy-docs:
  38. name: Deploy Docs
  39. needs: [build, test]
  40. uses: spring-io/spring-security-release-tools/.github/workflows/deploy-docs.yml@v1
  41. with:
  42. should-deploy-docs: ${{ needs.build.outputs.should-deploy-artifacts }}
  43. secrets: inherit
  44. perform-release:
  45. name: Perform Release
  46. needs: [deploy-artifacts, deploy-docs]
  47. uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@v1
  48. with:
  49. should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
  50. project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
  51. milestone-repo-url: https://repo.spring.io/artifactory/milestone
  52. release-repo-url: https://repo1.maven.org/maven2
  53. artifact-path: org/springframework/security/spring-security-oauth2-authorization-server
  54. slack-announcing-id: spring-authorization-server-announcing
  55. secrets: inherit