mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-06-30 15:52:15 +00:00
87 lines
3.0 KiB
YAML
87 lines
3.0 KiB
YAML
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 }}
|