mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-12-28 19:10:49 +00:00
Previously builds against the forced snapshots would prevent releases. This didn't work out in practice because breaking changes could be introduced that were not intended to be picked up until after releases. This change splits the snapshot builds into a separate workflow so that we are still informed when there is a breaking change coming, but it does not block the release. Closes gh-17558
74 lines
2.4 KiB
YAML
74 lines
2.4 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
|
|
deploy-artifacts:
|
|
name: Deploy Artifacts
|
|
needs: [ build]
|
|
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@v1
|
|
with:
|
|
should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
|
|
default-publish-milestones-central: true
|
|
secrets: inherit
|
|
deploy-docs:
|
|
name: Deploy Docs
|
|
needs: [ build ]
|
|
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 ]
|
|
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://repo1.maven.org/maven2
|
|
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 }}
|