Skip to content

Commit fe32f7a

Browse files
elliedorieleftherias
authored andcommitted
Create GitHub Actions CI pipeline
1 parent 1b63952 commit fe32f7a

File tree

3 files changed

+92
-192
lines changed

3 files changed

+92
-192
lines changed
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
name: 2.3.x CI
2+
3+
on:
4+
push:
5+
branches:
6+
- 2.3.x
7+
schedule:
8+
- cron: '0 10 * * *' # Once per day at 10am UTC
9+
workflow_dispatch: # Manual trigger
10+
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+
18+
jobs:
19+
build:
20+
name: Build
21+
runs-on: ubuntu-latest
22+
strategy:
23+
matrix:
24+
jdk: [8, 11]
25+
fail-fast: false
26+
steps:
27+
- uses: actions/checkout@v2
28+
- name: Set up JDK ${{ matrix.jdk }}
29+
uses: actions/setup-java@v1
30+
with:
31+
java-version: ${{ matrix.jdk }}
32+
- name: Cache Gradle packages
33+
uses: actions/cache@v2
34+
with:
35+
path: ~/.gradle/caches
36+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
37+
- name: Build with Gradle
38+
39+
run: |
40+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
41+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
42+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
43+
./gradlew clean build -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --no-daemon --stacktrace
44+
artifacts:
45+
name: Deploy Artifacts
46+
needs: [build]
47+
runs-on: ubuntu-latest
48+
steps:
49+
- uses: actions/checkout@v2
50+
- name: Set up JDK
51+
uses: actions/setup-java@v1
52+
with:
53+
java-version: '8'
54+
- name: Deploy artifacts
55+
run: |
56+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
57+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
58+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
59+
export VERSION_HEADER=$'Version: GnuPG v2\n\n'
60+
export ORG_GRADLE_PROJECT_signingKey=${GPG_PRIVATE_KEY#"$VERSION_HEADER"}
61+
export ORG_GRADLE_PROJECT_signingPassword="$GPG_PASSPHRASE"
62+
./gradlew deployArtifacts -PossrhUsername="$OSSRH_TOKEN_USERNAME" -PossrhPassword="$OSSRH_TOKEN_PASSWORD" -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --stacktrace --no-parallel
63+
./gradlew finalizeDeployArtifacts -PossrhUsername="$OSSRH_TOKEN_USERNAME" -PossrhPassword="$OSSRH_TOKEN_PASSWORD" -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --stacktrace --no-parallel
64+
env:
65+
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
66+
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
67+
OSSRH_TOKEN_USERNAME: ${{ secrets.OSSRH_TOKEN_USERNAME }}
68+
OSSRH_TOKEN_PASSWORD: ${{ secrets.OSSRH_TOKEN_PASSWORD }}
69+
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
70+
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
71+
docs:
72+
name: Deploy Docs
73+
needs: [build]
74+
runs-on: ubuntu-latest
75+
steps:
76+
- uses: actions/checkout@v2
77+
- name: Set up JDK
78+
uses: actions/setup-java@v1
79+
with:
80+
java-version: '8'
81+
- name: Deploy Docs
82+
run: |
83+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
84+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
85+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
86+
./gradlew deployDocs --no-daemon -PdeployDocsSshKey="$DOCS_SSH_KEY" -PdeployDocsSshUsername="$DOCS_USERNAME" -PdeployDocsHost="$DOCS_HOST" --stacktrace
87+
env:
88+
DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
89+
DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
90+
DOCS_HOST: ${{ secrets.DOCS_HOST }}

Jenkinsfile

Lines changed: 0 additions & 192 deletions
This file was deleted.

README.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
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"]
44

5+
image:https://github.com/spring-projects/spring-session/workflows/CI/badge.svg?branch=master["Build Status", link="https://github.com/spring-projects/spring-session/actions?query=workflow%3ACI"]
6+
57
Spring Session provides an API and implementations for managing a user's session information, while also making it trivial to support clustered sessions without being tied to an application container specific solution.
68
It also provides transparent integration with:
79

0 commit comments

Comments
 (0)