Skip to content

Commit 8303df9

Browse files
Merge branch '3.1.x' into 3.2.x
Closes gh-2713
2 parents c21130b + c55785f commit 8303df9

File tree

7 files changed

+105
-103
lines changed

7 files changed

+105
-103
lines changed

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

Lines changed: 32 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -8,99 +8,42 @@ on:
88
- cron: '0 10 * * *' # Once per day at 10am UTC
99
workflow_dispatch: # Manual trigger
1010

11-
env:
12-
GRADLE_ENTERPRISE_CACHE_USER: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
13-
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
14-
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
15-
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
16-
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
17-
1811
jobs:
1912
build:
2013
name: Build
21-
runs-on: ubuntu-latest
22-
if: github.repository == 'spring-projects/spring-session'
14+
uses: spring-io/spring-security-release-tools/.github/workflows/build.yml@v1
2315
strategy:
2416
matrix:
25-
jdk: [17]
26-
fail-fast: false
27-
steps:
28-
- uses: actions/checkout@v4
29-
- name: Set up JDK ${{ matrix.jdk }}
30-
uses: actions/setup-java@v4
31-
with:
32-
java-version: ${{ matrix.jdk }}
33-
distribution: 'temurin'
34-
cache: 'gradle'
35-
- name: Setup gradle user name
36-
run: |
37-
mkdir -p ~/.gradle
38-
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
39-
- name: Cache Gradle packages
40-
uses: actions/cache@v3
41-
with:
42-
path: ~/.gradle/caches
43-
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
44-
- name: Build with Gradle
45-
run: |
46-
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
47-
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
48-
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
49-
./gradlew clean build -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --no-daemon --stacktrace
50-
artifacts:
17+
os: [ ubuntu-latest ]
18+
jdk: [ 17 ]
19+
with:
20+
runs-on: ${{ matrix.os }}
21+
java-version: ${{ matrix.jdk }}
22+
distribution: temurin
23+
secrets: inherit
24+
deploy-artifacts:
5125
name: Deploy Artifacts
52-
needs: [build]
53-
runs-on: ubuntu-latest
54-
if: github.repository == 'spring-projects/spring-session'
55-
steps:
56-
- uses: actions/checkout@v4
57-
- name: Set up JDK
58-
uses: actions/setup-java@v4
59-
with:
60-
java-version: '17'
61-
distribution: 'temurin'
62-
cache: 'gradle'
63-
- name: Setup gradle user name
64-
run: |
65-
mkdir -p ~/.gradle
66-
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
67-
- name: Deploy artifacts
68-
run: |
69-
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
70-
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
71-
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
72-
./gradlew publishArtifacts finalizeDeployArtifacts -PossrhUsername="$OSSRH_TOKEN_USERNAME" -PossrhPassword="$OSSRH_TOKEN_PASSWORD" -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --stacktrace
73-
env:
74-
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY }}
75-
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
76-
OSSRH_TOKEN_USERNAME: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
77-
OSSRH_TOKEN_PASSWORD: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
78-
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
79-
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
80-
docs:
26+
needs: [ build ]
27+
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-artifacts.yml@v1
28+
with:
29+
should-deploy-artifacts: ${{ needs.build.outputs.should-deploy-artifacts }}
30+
secrets: inherit
31+
deploy-docs:
8132
name: Deploy Docs
82-
needs: [build]
83-
runs-on: ubuntu-latest
84-
if: github.repository == 'spring-projects/spring-session'
85-
steps:
86-
- uses: actions/checkout@v4
87-
- name: Set up JDK
88-
uses: actions/setup-java@v4
89-
with:
90-
java-version: '17'
91-
distribution: 'temurin'
92-
cache: 'gradle'
93-
- name: Setup gradle user name
94-
run: |
95-
mkdir -p ~/.gradle
96-
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
97-
- name: Deploy Docs
98-
run: |
99-
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
100-
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
101-
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
102-
./gradlew deployDocs --no-daemon -PdeployDocsSshKey="$DOCS_SSH_KEY" -PdeployDocsSshUsername="$DOCS_USERNAME" -PdeployDocsHost="$DOCS_HOST" --stacktrace
103-
env:
104-
DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
105-
DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
106-
DOCS_HOST: ${{ secrets.DOCS_HOST }}
33+
needs: [ build ]
34+
uses: spring-io/spring-security-release-tools/.github/workflows/deploy-docs.yml@v1
35+
with:
36+
should-deploy-docs: ${{ needs.build.outputs.should-deploy-artifacts }}
37+
secrets: inherit
38+
perform-release:
39+
name: Perform Release
40+
needs: [ deploy-artifacts, deploy-docs ]
41+
uses: spring-io/spring-security-release-tools/.github/workflows/perform-release.yml@v1
42+
with:
43+
should-perform-release: ${{ needs.deploy-artifacts.outputs.artifacts-deployed }}
44+
project-version: ${{ needs.deploy-artifacts.outputs.project-version }}
45+
milestone-repo-url: https://repo.spring.io/artifactory/milestone
46+
release-repo-url: https://repo1.maven.org/maven2
47+
artifact-path: org/springframework/session/spring-session-core
48+
slack-announcing-id: spring-session-announcing
49+
secrets: inherit
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Release Scheduler
2+
3+
on:
4+
schedule:
5+
- cron: '15 13 * * TUE' # Every Tuesday at 13:15pm UTC
6+
workflow_dispatch:
7+
8+
permissions: read-all
9+
10+
jobs:
11+
dispatch_scheduled_releases:
12+
name: Dispatch scheduled releases
13+
if: ${{ github.repository_owner == 'spring-projects' }}
14+
strategy:
15+
matrix:
16+
# List of active maintenance branches.
17+
branch: [ main, 3.2.x, 3.1.x ]
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v3
22+
with:
23+
fetch-depth: 1
24+
- name: Dispatch
25+
env:
26+
GH_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
27+
run: gh workflow run update-scheduled-release-version.yml -r ${{ matrix.branch }}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
name: Update Scheduled Release Version
2+
3+
on:
4+
workflow_dispatch: # Manual trigger only. Triggered by release-scheduler.yml on main.
5+
6+
jobs:
7+
update-scheduled-release-version:
8+
name: Update Scheduled Release Version
9+
uses: spring-io/spring-security-release-tools/.github/workflows/update-scheduled-release-version.yml@v1
10+
secrets: inherit

build.gradle

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ plugins {
3030
}
3131

3232
apply plugin: 'io.spring.convention.root'
33+
apply plugin: 'io.spring.security.release'
3334

3435
group = 'org.springframework.session'
3536
description = 'Spring Session'
@@ -56,3 +57,13 @@ nohttp {
5657
source.exclude "spring-session-docs/.gradle/nodejs/**"
5758
source.exclude "spring-session-docs/modules/ROOT/examples/**/build/**"
5859
}
60+
61+
springRelease {
62+
repositoryOwner = "spring-projects"
63+
repositoryName = "spring-session"
64+
weekOfMonth = 3
65+
dayOfWeek = 2
66+
referenceDocUrl = "https://docs.spring.io/spring-session/reference/{version}/index.html"
67+
apiDocUrl = "https://docs.spring.io/spring-session/docs/{version}/api/"
68+
replaceSnapshotVersionInReferenceDocUrl = true
69+
}

buildSrc/build.gradle

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ plugins {
44
id "groovy"
55
}
66

7-
sourceCompatibility = JavaVersion.VERSION_11
7+
sourceCompatibility = JavaVersion.VERSION_17
88

99
repositories {
1010
jcenter()
1111
gradlePluginPortal()
1212
mavenCentral()
1313
maven { url 'https://repo.spring.io/plugins-release/' }
14+
maven { url 'https://repo.spring.io/snapshot' }
1415
}
1516

1617
sourceSets {
@@ -74,6 +75,7 @@ dependencies {
7475
implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.29.4'
7576
implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'
7677
implementation libs.com.squareup.okhttp3.okhttp
78+
implementation libs.io.spring.security.release.plugin
7779

7880
testImplementation platform('org.junit:junit-bom:5.8.2')
7981
testImplementation "org.junit.jupiter:junit-jupiter-api"

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,6 @@ org-springframework-spring-framework-bom = "org.springframework:spring-framework
6363
org-springframework-boot-spring-boot-dependencies = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "org-springframework-boot" }
6464
org-springframework-boot-spring-boot-gradle-plugin = { module = "org.springframework.boot:spring-boot-gradle-plugin", version.ref = "org-springframework-boot" }
6565
org-testcontainers-testcontainers-bom = { module = "org.testcontainers:testcontainers-bom", version.ref = "org-testcontainers" }
66+
io-spring-security-release-plugin = "io.spring.gradle:spring-security-release-plugin:1.0.1-SNAPSHOT"
6667

6768
[plugins]
Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,25 @@
11
changelog:
2+
repository: spring-projects/spring-session
23
issues:
34
exclude:
4-
labels: ["duplicate", "invalid", "declined"]
5+
labels: ["status: duplicate", "status: invalid", "status: declined"]
6+
ports:
7+
- label: "status: forward-port"
8+
bodyExpression: 'Forward port of issue #(\d+).*'
59
sections:
6-
- title: "New Features"
7-
emoji: ":star:"
8-
labels: ["enhancement"]
9-
- title: "Bug Fixes"
10-
emoji: ":beetle:"
11-
labels: ["bug", "regression"]
12-
- title: "Dependency Upgrades"
13-
emoji: ":hammer:"
14-
labels: ["dependency-upgrade"]
15-
- title: "Non-passive"
16-
emoji: ":rewind:"
17-
labels: ["breaks-passivity"]
10+
- title: ":star: New Features"
11+
labels: [ "type: enhancement" ]
12+
sort: "title"
13+
- title: ":beetle: Bug Fixes"
14+
labels: [ "type: bug", "type: regression" ]
15+
sort: "title"
16+
- title: ":hammer: Dependency Upgrades"
17+
labels: [ "type: dependency-upgrade" ]
18+
sort: "title"
19+
- title: ":rewind: Non-passive"
20+
labels: [ "type: breaks-passivity" ]
21+
sort: "title"
22+
contributors:
23+
title: ":heart: Contributors"
24+
exclude:
25+
names: ["marcusdacoregio", "dependabot[bot]"]

0 commit comments

Comments
 (0)