Skip to content

Commit efb1531

Browse files
committed
Introduce concourse
1 parent 36fec20 commit efb1531

11 files changed

+655
-184
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ out
1111
.checkstyle
1212
!**/src/**/build
1313
_site
14+
15+
credentials.yml

README.adoc

+76-9
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22

33

4-
= Spring Session MongoDB image:https://circleci.com/gh/spring-projects/spring-session-data-mongodb.svg?style=svg["CircleCI", link="https://circleci.com/gh/spring-projects/workflows/spring-session-data-mongodb/tree/master"] image:https://badges.gitter.im/spring-projects/spring-session.svg[link="https://gitter.im/spring-projects/spring-session?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"]
4+
= Spring Session MongoDB
55

66
Greg Turnquist
77

@@ -13,6 +13,81 @@ Spring Session MongoDB provides a solution for Spring Session in a MongoDB data
1313
** Pluggable strategy for determining the session id
1414
** Easily keep the HttpSession alive when a WebSocket is active
1515

16+
== Project Status
17+
18+
We go to great lengths to ensure smooth upgrades. We also seek to make your upgrade on major versions of Java can be as smooth
19+
as possible.
20+
21+
Check the matrix below to see the status of supported versions:
22+
23+
.`master` branch
24+
[cols=2]
25+
|===
26+
| Job | Status
27+
28+
| Test - JDK 8
29+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
30+
31+
| Test - JDK 8 and Spring.NEXT
32+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
33+
34+
| Test - JDK 8 and Spring.NEXT 5.1
35+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
36+
37+
| Test - JDK 8 and Spring Data.NEXT
38+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%208%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
39+
40+
| Test - JDK 11
41+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
42+
43+
| Test - JDK 11 and Spring.NEXT
44+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
45+
46+
| Test - JDK 11 and Spring.NEXT 5.1
47+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
48+
49+
| Test - JDK 11 and Spring Data.NEXT
50+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Test%20-%20JDK%2011%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
51+
52+
| Build - Release to repo.spring.io
53+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb/jobs/Build/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb"]
54+
|===
55+
56+
.`2.0.x` branch
57+
[cols=2]
58+
|===
59+
| Job | Status
60+
61+
| Test - JDK 8
62+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
63+
64+
| Test - JDK 8 and Spring.NEXT
65+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
66+
67+
| Test - JDK 8 and Spring.NEXT 5.1
68+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
69+
70+
| Test - JDK 8 and Spring Data.NEXT
71+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%208%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
72+
73+
| Test - JDK 11
74+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
75+
76+
| Test - JDK 11 and Spring.NEXT
77+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
78+
79+
| Test - JDK 11 and Spring.NEXT 5.1
80+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011%20and%20Spring.NEXT%205.1/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
81+
82+
| Test - JDK 11 and Spring Data.NEXT
83+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Test%20-%20JDK%2011%20and%20Spring%20Data.NEXT/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
84+
85+
| Build - Release to repo.spring.io
86+
| image:https://ci.spring.io/api/v1/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x/jobs/Build/badge[link="https://ci.spring.io/teams/spring-team/pipelines/spring-session-data-mongodb-2.0.x"]
87+
|===
88+
89+
90+
1691

1792
== Building Spring Session MongoDB
1893

@@ -24,14 +99,6 @@ You can also import the project into your IDE.
2499

25100
== Releasing Spring Session MongoDB
26101

27-
Snapshots are published automatically via CI server by doing this:
28-
29-
----
30-
$ USERNAME=<username> PASSWORD=<encrypted password> mvn -Pdistribute,snapshot,docs clean deploy
31-
----
32-
33-
IMPORTANT: Snapshots do NOT include GPG signatures. To do so would require putting a private key on the CI server. The process for releases (below) is manual and DOES include GPG signatures.
34-
35102
To do a release (.RELEASE, .RC?, .M?):
36103

37104
. Check in all changes and ensure there are no edited files.

ci/README.adoc

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
== Spring Session for MongoDB CI
2+
3+
Spring Session for MongoDB uses Concourse as it's CI tool of choice. This provides support for:
4+
5+
* Pipelines against the `master` and `2.0.x` branches
6+
* Support for pull requests
7+
8+
=== Creating a pipeline
9+
10+
Using the `fly` command, you can execute a series of commands to create multiple pipelines to manage everything. But
11+
first, some critical credentials are needed.
12+
13+
Create a `credentials.yml` file like this:
14+
15+
[source,yml]
16+
----
17+
github-access-token: <your Personal Access Token from github>
18+
slack: <your slack hook URL>
19+
docker-email: <your docker hub email address>
20+
docker-username: <your docker hub username>
21+
docker-password: <your docker hub password>
22+
artifactory-username: <your artifactory username>
23+
artifactory-password: <your artifactory encoded password>
24+
----
25+
26+
WARNING: Do NOT check this file into source control! If you'll check, `credentials.yml` is listed in `.gitignore` to prevent tihs.
27+
28+
With this in place, run the following `fly` commands to create pipelines:
29+
30+
----
31+
% fly -t <team-name> sp -p spring-session-data-mongodb -c ci/pipeline-template.yml -l credentials.yml -v branch=master
32+
% fly -t <team-name> sp -p spring-session-data-mongodb-2.0.x -c ci/pipeline-template.yml -l credentials.yml -v branch=2.0.x
33+
----
34+
35+
This creates pipelines for:
36+
37+
* Spring Session for MongoDB `master` branch
38+
* Spring Session for MongoDB `2.0.x` branch
39+
40+
With these pipelines in place, you can now activate and expose them:
41+
42+
----
43+
% fly -t <team-name> unpause-pipeline -p spring-session-data-mongodb
44+
% fly -t <team-name> expose-pipeline -p spring-session-data-mongodb
45+
% fly -t <team-name> unpause-pipeline -p spring-session-data-mongodb-2.0.x
46+
% fly -t <team-name> expose-pipeline -p spring-session-data-mongodb-2.x
47+
----

ci/build.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
set -euo pipefail
4+
5+
[[ -d $PWD/maven && ! -d $HOME/.m2 ]] && ln -s $PWD/maven $HOME/.m2
6+
7+
spring_session_data_mongodb_artifactory=$(pwd)/spring-session-data-mongodb-artifactory
8+
9+
rm -rf $HOME/.m2/repository/org/springframework/ws 2> /dev/null || :
10+
11+
cd spring-session-data-mongodb-github
12+
13+
./mvnw -Pdistribute,docs -Dmaven.test.skip=true clean deploy \
14+
-DaltDeploymentRepository=distribution::default::file://${spring_session_data_mongodb_artifactory}

ci/build.yml

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
platform: linux
3+
4+
image_resource:
5+
type: docker-image
6+
source:
7+
repository: openjdk
8+
tag: 8-jdk
9+
10+
inputs:
11+
- name: spring-session-data-mongodb-github
12+
13+
outputs:
14+
- name: spring-session-data-mongodb-artifactory
15+
16+
caches:
17+
- path: maven
18+
19+
run:
20+
path: spring-session-data-mongodb-github/ci/build.sh

0 commit comments

Comments
 (0)