1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- name: CI
- on:
- push:
- branches-ignore:
- - "dependabot/**"
- schedule:
- - cron: '0 10 * * *' # Once per day at 10am UTC
- workflow_dispatch: # Manual trigger
- env:
- DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- permissions:
- contents: read
- jobs:
- build:
- name: Build
- uses: spring-io/spring-security-release-tools/.github/workflows/build.yml@v1
- strategy:
- matrix:
- os: [ ubuntu-latest, windows-latest ]
- jdk: [ 17 ]
- with:
- runs-on: ${{ matrix.os }}
- java-version: ${{ matrix.jdk }}
- distribution: temurin
- secrets: inherit
- test:
- name: Test Against Snapshots
- uses: spring-io/spring-security-release-tools/.github/workflows/test.yml@v1
- strategy:
- matrix:
- include:
- - java-version: 21-ea
- toolchain: 21
- - java-version: 17
- toolchain: 17
- with:
- java-version: ${{ matrix.java-version }}
- test-args: --refresh-dependencies -PforceMavenRepositories=snapshot,https://oss.sonatype.org/content/repositories/snapshots -PisOverrideVersionCatalog -PtestToolchain=${{ matrix.toolchain }} -PspringFrameworkVersion=7.+ -PreactorVersion=2025.+ -PspringDataVersion=2025.+ --stacktrace
- secrets: inherit
- deploy-artifacts:
- name: Deploy Artifacts
- needs: [ build, test]
- uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@v1
- with:
- should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
- secrets: inherit
- deploy-docs:
- name: Deploy Docs
- needs: [ build, test ]
- uses: spring-io/spring-security-release-tools/.github/workflows/deploy-docs.yml@v1
- with:
- should-deploy-docs: ${{ needs.build.outputs.should-deploy-artifacts }}
- secrets: inherit
- deploy-schema:
- name: Deploy Schema
- needs: [ build, test ]
- uses: spring-io/spring-security-release-tools/.github/workflows/deploy-schema.yml@v1
- with:
- should-deploy-schema: ${{ needs.build.outputs.should-deploy-artifacts }}
- secrets: inherit
- perform-release:
- name: Perform Release
- needs: [ deploy-artifacts, deploy-docs, deploy-schema ]
- uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@v1
- with:
- should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
- project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
- milestone-repo-url: https://repo.spring.io/artifactory/milestone
- release-repo-url: https://repo1.maven.org/maven2
- artifact-path: org/springframework/security/spring-security-core
- slack-announcing-id: spring-security-announcing
- secrets: inherit
- send-notification:
- name: Send Notification
- needs: [ perform-release ]
- if: ${{ !success() }}
- runs-on: ubuntu-latest
- steps:
- - name: Send Notification
- uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
- with:
- webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}
|