Skip to content

Commit 9af1986

Browse files
Merge branch 'spring-projects:main' into main
2 parents f784306 + a5b0304 commit 9af1986

File tree

1,200 files changed

+89637
-10977
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,200 files changed

+89637
-10977
lines changed

.github/dependabot.template.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,5 @@ updates:
3636
schedule:
3737
interval: weekly
3838
ignore:
39-
- dependency-name: "sjohnr/*"
4039
- dependency-name: "spring-io/*"
4140
- dependency-name: "spring-security-release-tools/*"

.github/dependabot.yml

Lines changed: 22 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ registries:
55
url: https://repo.spring.io/milestone
66
updates:
77
- package-ecosystem: gradle
8-
target-branch: 5.8.x
8+
target-branch: 6.4.x
99
directory: /
1010
schedule:
1111
interval: daily
@@ -30,32 +30,7 @@ updates:
3030
- version-update:semver-major
3131
- version-update:semver-minor
3232
- package-ecosystem: gradle
33-
target-branch: 6.1.x
34-
directory: /
35-
schedule:
36-
interval: daily
37-
time: '03:00'
38-
timezone: Etc/UTC
39-
labels:
40-
- 'type: dependency-upgrade'
41-
registries:
42-
- spring-milestones
43-
ignore:
44-
- dependency-name: com.nimbusds:nimbus-jose-jwt
45-
- dependency-name: org.python:jython
46-
- dependency-name: org.apache.directory.server:*
47-
- dependency-name: org.junit:junit-bom
48-
update-types:
49-
- version-update:semver-major
50-
- dependency-name: org.mockito:mockito-bom
51-
update-types:
52-
- version-update:semver-major
53-
- dependency-name: '*'
54-
update-types:
55-
- version-update:semver-major
56-
- version-update:semver-minor
57-
- package-ecosystem: gradle
58-
target-branch: 6.2.x
33+
target-branch: 6.3.x
5934
directory: /
6035
schedule:
6136
interval: daily
@@ -107,9 +82,9 @@ updates:
10782
- dependency-name: '*'
10883
update-types:
10984
- version-update:semver-major
110-
- version-update:semver-minor
85+
11186
- package-ecosystem: github-actions
112-
target-branch: 5.8.x
87+
target-branch: 6.4.x
11388
directory: /
11489
schedule:
11590
interval: weekly
@@ -119,7 +94,7 @@ updates:
11994
ignore:
12095
- dependency-name: sjohnr/*
12196
- package-ecosystem: github-actions
122-
target-branch: 6.1.x
97+
target-branch: 6.3.x
12398
directory: /
12499
schedule:
125100
interval: weekly
@@ -129,38 +104,44 @@ updates:
129104
ignore:
130105
- dependency-name: sjohnr/*
131106
- package-ecosystem: github-actions
132-
target-branch: 6.2.x
107+
target-branch: main
133108
directory: /
134109
schedule:
135110
interval: weekly
136111
labels:
137112
- 'type: task'
138113
- 'in: build'
139-
ignore:
140-
- dependency-name: sjohnr/*
141114
- package-ecosystem: github-actions
142-
target-branch: main
115+
target-branch: docs-build
143116
directory: /
144117
schedule:
145118
interval: weekly
146119
labels:
147120
- 'type: task'
148121
- 'in: build'
149-
ignore:
150-
- dependency-name: sjohnr/*
151-
- package-ecosystem: github-actions
122+
123+
- package-ecosystem: npm
152124
target-branch: docs-build
153125
directory: /
154126
schedule:
155127
interval: weekly
156128
labels:
157129
- 'type: task'
158130
- 'in: build'
159-
ignore:
160-
- dependency-name: sjohnr/*
161131

162132
- package-ecosystem: npm
163-
target-branch: docs-build
164-
directory: /
133+
target-branch: main
134+
directory: /docs
135+
schedule:
136+
interval: weekly
137+
labels:
138+
- 'type: task'
139+
- 'in: build'
140+
- package-ecosystem: npm
141+
target-branch: 6.3.x
142+
directory: /docs
165143
schedule:
166144
interval: weekly
145+
labels:
146+
- 'type: task'
147+
- 'in: build'

.github/workflows/continuous-integration-workflow.yml

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
workflow_dispatch: # Manual trigger
1010

1111
env:
12-
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
12+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
1313

1414
permissions:
1515
contents: read
@@ -39,7 +39,7 @@ jobs:
3939
toolchain: 17
4040
with:
4141
java-version: ${{ matrix.java-version }}
42-
test-args: --refresh-dependencies -PforceMavenRepositories=snapshot -PisOverrideVersionCatalog -PtestToolchain=${{ matrix.toolchain }} -PspringFrameworkVersion=6.1.+ -PreactorVersion=2023.0.+ -PspringDataVersion=2023.1.+ --stacktrace
42+
test-args: --refresh-dependencies -PforceMavenRepositories=snapshot -PisOverrideVersionCatalog -PtestToolchain=${{ matrix.toolchain }} -PspringFrameworkVersion=6.2.+ -PreactorVersion=2023.0.+ -PspringDataVersion=2024.0.+ --stacktrace
4343
secrets: inherit
4444
check-samples:
4545
name: Check Samples
@@ -63,7 +63,7 @@ jobs:
6363
samples_branch=$(cat gradle.properties | grep "samplesBranch=" | awk -F'=' '{print $2}')
6464
./gradlew publishMavenJavaPublicationToLocalRepository
6565
./gradlew cloneRepository -PrepositoryName="spring-projects/spring-security-samples" -Pref="$samples_branch" -PcloneOutputDirectory="$SAMPLES_DIR"
66-
./gradlew --project-dir "$SAMPLES_DIR" --init-script spring-security-ci.gradle -PlocalRepositoryPath="$LOCAL_REPOSITORY_PATH" -PspringSecurityVersion="$version" :runAllTests
66+
./gradlew --refresh-dependencies --project-dir "$SAMPLES_DIR" --init-script spring-security-ci.gradle -PlocalRepositoryPath="$LOCAL_REPOSITORY_PATH" -PspringSecurityVersion="$version" test integrationTest
6767
check-tangles:
6868
name: Check for Package Tangles
6969
runs-on: ubuntu-latest
@@ -113,20 +113,13 @@ jobs:
113113
artifact-path: org/springframework/security/spring-security-core
114114
slack-announcing-id: spring-security-announcing
115115
secrets: inherit
116-
notify_result:
117-
name: Check for failures
116+
send-notification:
117+
name: Send Notification
118118
needs: [ perform-release ]
119-
if: failure()
119+
if: ${{ failure() || cancelled() }}
120120
runs-on: ubuntu-latest
121-
permissions:
122-
actions: read
123121
steps:
124-
- name: Send Slack message
125-
# Workaround while waiting for Gamesight/slack-workflow-status#38 to be fixed
126-
# See https://github.com/Gamesight/slack-workflow-status/issues/38
127-
uses: sjohnr/slack-workflow-status@v1-beta
122+
- name: Send Notification
123+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
128124
with:
129-
repo_token: ${{ secrets.GITHUB_TOKEN }}
130-
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}
131-
channel: '#spring-security-ci'
132-
name: 'CI Notifier'
125+
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Mark Duplicate Dependabot PRs
2+
3+
on:
4+
pull_request:
5+
types: [closed]
6+
7+
jobs:
8+
check_duplicate_prs:
9+
runs-on: ubuntu-latest
10+
if: github.event.pull_request.merged == true && github.event.pull_request.user.login == 'dependabot[bot]'
11+
steps:
12+
- name: Checkout Repository
13+
uses: actions/checkout@v4
14+
15+
- name: Extract Dependency Name from PR Title
16+
id: extract
17+
run: |
18+
PR_TITLE="${{ github.event.pull_request.title }}"
19+
DEPENDENCY_NAME=$(echo "$PR_TITLE" | awk -F ' from ' '{print $1}')
20+
echo "dependency_name=$DEPENDENCY_NAME" >> $GITHUB_OUTPUT
21+
22+
- name: Find PRs
23+
id: find_duplicates
24+
env:
25+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26+
run: |
27+
PRS=$(gh pr list --search 'milestone:${{ github.event.pull_request.milestone.title }} is:merged in:title "${{ steps.extract.outputs.dependency_name }}"' --json number --jq 'map(.number) | join(",")')
28+
echo "prs=$PRS" >> $GITHUB_OUTPUT
29+
30+
- name: Label Duplicate PRs
31+
if: steps.find_duplicates.outputs.prs != ''
32+
env:
33+
PRS: ${{ steps.find_duplicates.outputs.prs }}
34+
CURRENT_PR_NUMBER: ${{ github.event.pull_request.number }}
35+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
shell: bash
37+
run: |
38+
for i in ${PRS//,/ }
39+
do
40+
if [ ! $i -eq "$CURRENT_PR_NUMBER" ]; then
41+
echo "Marking PR $i as duplicate"
42+
gh pr edit "$i" --add-label "status: duplicate"
43+
gh pr comment "$i" --body "Duplicate of #$CURRENT_PR_NUMBER"
44+
fi
45+
done

.github/workflows/merge-dependabot-pr.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@ permissions: write-all
88

99
jobs:
1010
merge-dependabot-pr:
11+
name: Merge Dependabot PR
1112
runs-on: ubuntu-latest
12-
if: github.actor == 'dependabot[bot]'
13+
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'spring-projects/spring-security' }}
1314
steps:
1415

1516
- uses: actions/checkout@v4
@@ -50,3 +51,13 @@ jobs:
5051
run: gh pr merge ${{ github.event.pull_request.number }} --auto --rebase
5152
env:
5253
GH_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
54+
send-notification:
55+
name: Send Notification
56+
needs: [ merge-dependabot-pr ]
57+
if: ${{ failure() || cancelled() }}
58+
runs-on: ubuntu-latest
59+
steps:
60+
- name: Send Notification
61+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
62+
with:
63+
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/milestone-spring-releasetrain.yml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,13 @@ jobs:
2323
export TOOL_VERSION=0.1.1
2424
wget "https://repo.maven.apache.org/maven2/io/spring/releasetrain/spring-release-train-tools/$TOOL_VERSION/spring-release-train-tools-$TOOL_VERSION.jar"
2525
java -cp "spring-release-train-tools-$TOOL_VERSION.jar" io.spring.releasetrain.CheckMilestoneDueOnMain --dueOn "$DUE_ON" --expectedDayOfWeek MONDAY --expectedMondayCount 3
26-
notify_result:
27-
name: Check for failures
28-
needs: [spring-releasetrain-checks]
29-
if: failure()
26+
send-notification:
27+
name: Send Notification
28+
needs: [ spring-releasetrain-checks ]
29+
if: ${{ failure() || cancelled() }}
3030
runs-on: ubuntu-latest
31-
permissions:
32-
actions: read
3331
steps:
34-
- name: Send Slack message
35-
uses: Gamesight/slack-workflow-status@v1.3.0
32+
- name: Send Notification
33+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
3634
with:
37-
repo_token: ${{ secrets.GITHUB_TOKEN }}
38-
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}
39-
channel: '#spring-security-ci'
40-
name: 'CI Notifier'
35+
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/pr-build-workflow.yml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ name: PR Build
22

33
on: pull_request
44

5-
env:
6-
DEVELOCITY_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
7-
85
permissions:
96
contents: read
107

@@ -21,7 +18,7 @@ jobs:
2118
java-version: '17'
2219
distribution: 'temurin'
2320
- name: Build with Gradle
24-
run: ./gradlew clean build --continue
21+
run: ./gradlew clean build -PskipCheckExpectedBranchVersion --continue --scan
2522
generate-docs:
2623
name: Generate Docs
2724
runs-on: ubuntu-latest
@@ -42,3 +39,13 @@ jobs:
4239
name: docs
4340
path: docs/build/site
4441
overwrite: true
42+
send-notification:
43+
name: Send Notification
44+
needs: [ build, generate-docs ]
45+
if: ${{ failure() && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'spring-projects/spring-security' }}
46+
runs-on: ubuntu-latest
47+
steps:
48+
- name: Send Notification
49+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
50+
with:
51+
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

.github/workflows/release-scheduler.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
strategy:
1212
matrix:
1313
# List of active maintenance branches.
14-
branch: [ main, 6.2.x, 6.1.x, 5.8.x ]
14+
branch: [ main, 6.4.x, 6.3.x, 6.2.x, 5.8.x ]
1515
runs-on: ubuntu-latest
1616
steps:
1717
- name: Checkout

.github/workflows/update-antora-ui-spring.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ jobs:
1616
name: Update on Supported Branches
1717
strategy:
1818
matrix:
19-
branch: [ '5.8.x', '6.1.x', '6.2.x', 'main' ]
19+
branch: [ '5.8.x', '6.2.x', '6.3.x', 'main' ]
2020
steps:
21-
- uses: spring-io/spring-doc-actions/update-antora-spring-ui@17ed79ea5fbd65813c69ef1062a024d4a37ff0ca
21+
- uses: spring-io/spring-doc-actions/update-antora-spring-ui@852920ba3fb1f28b35a2f13201133bc00ef33677
2222
name: Update
2323
with:
2424
docs-branch: ${{ matrix.branch }}
@@ -28,7 +28,7 @@ jobs:
2828
runs-on: ubuntu-latest
2929
name: Update on docs-build
3030
steps:
31-
- uses: spring-io/spring-doc-actions/update-antora-spring-ui@17ed79ea5fbd65813c69ef1062a024d4a37ff0ca
31+
- uses: spring-io/spring-doc-actions/update-antora-spring-ui@852920ba3fb1f28b35a2f13201133bc00ef33677
3232
name: Update
3333
with:
3434
docs-branch: 'docs-build'

.github/workflows/update-scheduled-release-version.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,13 @@ jobs:
1111
name: Update Scheduled Release Version
1212
uses: spring-io/spring-security-release-tools/.github/workflows/update-scheduled-release-version.yml@v1
1313
secrets: inherit
14+
send-notification:
15+
name: Send Notification
16+
needs: [ update-scheduled-release-version ]
17+
if: ${{ failure() || cancelled() }}
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Send Notification
21+
uses: spring-io/spring-security-release-tools/.github/actions/send-notification@v1
22+
with:
23+
webhook-url: ${{ secrets.SPRING_SECURITY_CI_GCHAT_WEBHOOK_URL }}

0 commit comments

Comments
 (0)