Skip to content

Commit aa34126

Browse files
authored
Merge branch 'spring-projects:main' into add-multiple-reactive-keys-exist-checker
2 parents cf160e7 + f2752d1 commit aa34126

File tree

209 files changed

+3142
-1777
lines changed

Some content is hidden

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

209 files changed

+3142
-1777
lines changed

.github/workflows/project.yml

+10-17
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,28 @@ on:
1313
jobs:
1414
Inbox:
1515
runs-on: ubuntu-latest
16-
if: github.repository_owner == 'spring-projects' && (github.event.action == 'opened' || github.event.action == 'reopened') && github.event.pull_request == null
16+
if: github.repository_owner == 'spring-projects' && (github.event.action == 'opened' || github.event.action == 'reopened') && github.event.pull_request == null && !contains(join(github.event.issue.labels.*.name, ', '), 'dependency-upgrade') && !contains(github.event.issue.title, 'Release ')
1717
steps:
1818
- name: Create or Update Issue Card
19-
uses: peter-evans/create-or-update-project-card@v1.1.2
19+
uses: actions/add-to-project@v1.0.2
2020
with:
21-
project-name: 'Spring Data'
22-
column-name: 'Inbox'
23-
project-location: 'spring-projects'
24-
token: ${{ secrets.GH_ISSUES_TOKEN_SPRING_DATA }}
21+
project-url: https://github.com/orgs/spring-projects/projects/25
22+
github-token: ${{ secrets.GH_ISSUES_TOKEN_SPRING_DATA }}
2523
Pull-Request:
2624
runs-on: ubuntu-latest
2725
if: github.repository_owner == 'spring-projects' && (github.event.action == 'opened' || github.event.action == 'reopened') && github.event.pull_request != null
2826
steps:
2927
- name: Create or Update Pull Request Card
30-
uses: peter-evans/create-or-update-project-card@v1.1.2
28+
uses: actions/add-to-project@v1.0.2
3129
with:
32-
project-name: 'Spring Data'
33-
column-name: 'Review pending'
34-
project-location: 'spring-projects'
35-
issue-number: ${{ github.event.pull_request.number }}
36-
token: ${{ secrets.GH_ISSUES_TOKEN_SPRING_DATA }}
30+
project-url: https://github.com/orgs/spring-projects/projects/25
31+
github-token: ${{ secrets.GH_ISSUES_TOKEN_SPRING_DATA }}
3732
Feedback-Provided:
3833
runs-on: ubuntu-latest
3934
if: github.repository_owner == 'spring-projects' && github.event_name == 'issue_comment' && github.event.action == 'created' && github.actor != 'spring-projects-issues' && github.event.pull_request == null && github.event.issue.state == 'open' && contains(toJSON(github.event.issue.labels), 'waiting-for-feedback')
4035
steps:
4136
- name: Update Project Card
42-
uses: peter-evans/create-or-update-project-card@v1.1.2
37+
uses: actions/add-to-project@v1.0.2
4338
with:
44-
project-name: 'Spring Data'
45-
column-name: 'Feedback provided'
46-
project-location: 'spring-projects'
47-
token: ${{ secrets.GH_ISSUES_TOKEN_SPRING_DATA }}
39+
project-url: https://github.com/orgs/spring-projects/projects/25
40+
github-token: ${{ secrets.GH_ISSUES_TOKEN_SPRING_DATA }}

.gitignore

+1-2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,5 @@ work
1919
build/
2020
node_modules
2121
node
22-
package.json
2322
package-lock.json
24-
.mvn/.gradle-enterprise
23+
.mvn/.develocity

.mvn/extensions.xml

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<extensions>
33
<extension>
4-
<groupId>com.gradle</groupId>
5-
<artifactId>gradle-enterprise-maven-extension</artifactId>
6-
<version>1.19.2</version>
7-
</extension>
8-
<extension>
9-
<groupId>com.gradle</groupId>
10-
<artifactId>common-custom-user-data-maven-extension</artifactId>
11-
<version>1.12.4</version>
4+
<groupId>io.spring.develocity.conventions</groupId>
5+
<artifactId>develocity-conventions-maven-extension</artifactId>
6+
<version>0.0.19</version>
127
</extension>
138
</extensions>

.mvn/gradle-enterprise.xml

-31
This file was deleted.

.mvn/wrapper/maven-wrapper.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
#Thu Dec 14 08:40:45 CET 2023
2-
distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip
1+
#Thu Aug 08 10:22:08 CEST 2024
2+
distributionUrl=https\://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip

Jenkinsfile

+71-33
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pipeline {
3333

3434
steps {
3535
script {
36-
def image = docker.build("springci/spring-data-with-redis-6.2:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg REDIS=${p['docker.redis.6.version']} -f ci/openjdk17-redis-6.2/Dockerfile .")
36+
def image = docker.build("springci/spring-data-with-redis-6.2:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg VERSION=${p['docker.redis.6.version']} -f ci/openjdk17-redis-6.2/Dockerfile .")
3737
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
3838
image.push()
3939
}
@@ -53,7 +53,27 @@ pipeline {
5353

5454
steps {
5555
script {
56-
def image = docker.build("springci/spring-data-with-redis-7.2:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg REDIS=${p['docker.redis.7.version']} -f ci/openjdk17-redis-7.2/Dockerfile .")
56+
def image = docker.build("springci/spring-data-with-redis-7.2:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg VERSION=${p['docker.redis.7.version']} -f ci/openjdk17-redis-7.2/Dockerfile .")
57+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
58+
image.push()
59+
}
60+
}
61+
}
62+
}
63+
stage('Publish JDK 17 + Valkey 7.2 Docker Image') {
64+
when {
65+
anyOf {
66+
changeset "ci/openjdk17-valkey-7.2/Dockerfile"
67+
changeset "Makefile"
68+
changeset "ci/pipeline.properties"
69+
}
70+
}
71+
agent { label 'data' }
72+
options { timeout(time: 20, unit: 'MINUTES') }
73+
74+
steps {
75+
script {
76+
def image = docker.build("springci/spring-data-with-valkey-7.2:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg VERSION=${p['docker.redis.7.version']} -f ci/openjdk17-redis-7.2/Dockerfile .")
5777
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
5878
image.push()
5979
}
@@ -73,7 +93,7 @@ pipeline {
7393

7494
steps {
7595
script {
76-
def image = docker.build("springci/spring-data-with-redis-6.2:${p['java.next.tag']}", "--build-arg BASE=${p['docker.java.next.image']} --build-arg REDIS=${p['docker.redis.6.version']} -f ci/openjdk21-redis-6.2/Dockerfile .")
96+
def image = docker.build("springci/spring-data-with-redis-6.2:${p['java.next.tag']}", "--build-arg BASE=${p['docker.java.next.image']} --build-arg VERSION=${p['docker.redis.6.version']} -f ci/openjdk21-redis-6.2/Dockerfile .")
7797
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
7898
image.push()
7999
}
@@ -97,13 +117,14 @@ pipeline {
97117
options { timeout(time: 30, unit: 'MINUTES') }
98118
environment {
99119
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
100-
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
101120
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
102121
}
103122
steps {
104123
script {
105-
docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-redis-6.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
106-
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
124+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
125+
docker.image("springci/spring-data-with-redis-6.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
126+
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
127+
}
107128
}
108129
}
109130
}
@@ -125,13 +146,14 @@ pipeline {
125146
options { timeout(time: 30, unit: 'MINUTES') }
126147
environment {
127148
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
128-
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
129149
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
130150
}
131151
steps {
132152
script {
133-
docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-redis-6.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
134-
sh "PROFILE=runtimehints LONG_TESTS=false JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
153+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
154+
docker.image("springci/spring-data-with-redis-6.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
155+
sh "PROFILE=runtimehints LONG_TESTS=false JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
156+
}
135157
}
136158
}
137159
}
@@ -143,13 +165,14 @@ pipeline {
143165
options { timeout(time: 30, unit: 'MINUTES') }
144166
environment {
145167
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
146-
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
147168
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
148169
}
149170
steps {
150171
script {
151-
docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-redis-6.2:${p['java.next.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
152-
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
172+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
173+
docker.image("springci/spring-data-with-redis-6.2:${p['java.next.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
174+
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
175+
}
153176
}
154177
}
155178
}
@@ -161,13 +184,34 @@ pipeline {
161184
options { timeout(time: 30, unit: 'MINUTES') }
162185
environment {
163186
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
164-
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
165187
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
166188
}
167189
steps {
168190
script {
169-
docker.image("harbor-repo.vmware.com/dockerhub-proxy-cache/springci/spring-data-with-redis-7.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
170-
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
191+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
192+
docker.image("springci/spring-data-with-redis-7.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
193+
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
194+
}
195+
}
196+
}
197+
}
198+
}
199+
200+
stage("test: Valkey 7") {
201+
agent {
202+
label 'data'
203+
}
204+
options { timeout(time: 30, unit: 'MINUTES') }
205+
environment {
206+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
207+
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
208+
}
209+
steps {
210+
script {
211+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
212+
docker.image("springci/spring-data-with-valkey-7.2:${p['java.main.tag']}").inside('-v $HOME:/tmp/jenkins-home') {
213+
sh "PROFILE=none LONG_TESTS=true JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh"
214+
}
171215
}
172216
}
173217
}
@@ -190,25 +234,23 @@ pipeline {
190234

191235
environment {
192236
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
193-
DEVELOCITY_CACHE = credentials("${p['develocity.cache.credentials']}")
194237
DEVELOCITY_ACCESS_KEY = credentials("${p['develocity.access-key']}")
195238
}
196239

197240
steps {
198241
script {
199-
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
200-
sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
201-
"DEVELOCITY_CACHE_USERNAME=${DEVELOCITY_CACHE_USR} " +
202-
"DEVELOCITY_CACHE_PASSWORD=${DEVELOCITY_CACHE_PSW} " +
203-
"GRADLE_ENTERPRISE_ACCESS_KEY=${DEVELOCITY_ACCESS_KEY} " +
204-
"./mvnw -s settings.xml -Pci,artifactory " +
205-
"-Dartifactory.server=${p['artifactory.url']} " +
206-
"-Dartifactory.username=${ARTIFACTORY_USR} " +
207-
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
208-
"-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " +
209-
"-Dartifactory.build-name=spring-data-redis " +
210-
"-Dartifactory.build-number=spring-data-redis-${BRANCH_NAME}-build-${BUILD_NUMBER} " +
211-
"-Dmaven.test.skip=true clean deploy -U -B"
242+
docker.withRegistry(p['docker.proxy.registry'], p['docker.proxy.credentials']) {
243+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
244+
sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' +
245+
"./mvnw -s settings.xml -Pci,artifactory " +
246+
"-Dartifactory.server=${p['artifactory.url']} " +
247+
"-Dartifactory.username=${ARTIFACTORY_USR} " +
248+
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
249+
"-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " +
250+
"-Dartifactory.build-name=spring-data-redis " +
251+
"-Dartifactory.build-number=spring-data-redis-${BRANCH_NAME}-build-${BUILD_NUMBER} " +
252+
"-Dmaven.test.skip=true clean deploy -U -B"
253+
}
212254
}
213255
}
214256
}
@@ -218,10 +260,6 @@ pipeline {
218260
post {
219261
changed {
220262
script {
221-
slackSend(
222-
color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger',
223-
channel: '#spring-data-dev',
224-
message: "${currentBuild.fullDisplayName} - `${currentBuild.currentResult}`\n${env.BUILD_URL}")
225263
emailext(
226264
subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}",
227265
mimeType: 'text/html',

0 commit comments

Comments
 (0)