Skip to content

Commit f9f5b43

Browse files
committed
Re-enable CI for 5.2.x
Closes gh-11075
1 parent f8d5a44 commit f9f5b43

File tree

1 file changed

+192
-0
lines changed

1 file changed

+192
-0
lines changed
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
schedule:
6+
- cron: '0 10 * * *' # Once per day at 10am UTC
7+
workflow_dispatch: # Manual trigger
8+
9+
env:
10+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
11+
GRADLE_ENTERPRISE_CACHE_USER: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
12+
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
13+
GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
14+
COMMIT_OWNER: ${{ github.event.pusher.name }}
15+
COMMIT_SHA: ${{ github.sha }}
16+
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
17+
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
18+
RUN_JOBS: ${{ github.repository == 'spring-projects/spring-security' }}
19+
20+
jobs:
21+
prerequisites:
22+
name: Pre-requisites for building
23+
runs-on: ubuntu-latest
24+
outputs:
25+
runjobs: ${{ steps.continue.outputs.runjobs }}
26+
steps:
27+
- id: continue
28+
name: Determine if should continue
29+
if: env.RUN_JOBS == 'true'
30+
run: echo "::set-output name=runjobs::true"
31+
build_jdk_8:
32+
name: Build JDK 8
33+
needs: [prerequisites]
34+
runs-on: ubuntu-latest
35+
if: needs.prerequisites.outputs.runjobs
36+
steps:
37+
- uses: actions/checkout@v2
38+
- name: Set up JDK 8
39+
uses: actions/setup-java@v1
40+
with:
41+
java-version: '8'
42+
- name: Setup gradle user name
43+
run: |
44+
mkdir -p ~/.gradle
45+
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
46+
- name: Cache Gradle packages
47+
uses: actions/cache@v2
48+
with:
49+
path: ~/.gradle/caches
50+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
51+
- name: Build with Gradle
52+
env:
53+
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
54+
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
55+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
56+
run: ./gradlew clean build --continue -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD"
57+
test_jdk_11:
58+
name: Test JDK 11
59+
needs: [prerequisites]
60+
runs-on: ubuntu-latest
61+
if: needs.prerequisites.outputs.runjobs
62+
steps:
63+
- uses: actions/checkout@v2
64+
- name: Set up JDK 11
65+
uses: actions/setup-java@v1
66+
with:
67+
java-version: '11'
68+
- name: Setup gradle user name
69+
run: |
70+
mkdir -p ~/.gradle
71+
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
72+
- name: Cache Gradle packages
73+
uses: actions/cache@v2
74+
with:
75+
path: ~/.gradle/caches
76+
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
77+
- name: Build with Gradle
78+
env:
79+
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USER }}
80+
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }}
81+
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
82+
run: ./gradlew clean test --continue -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD"
83+
snapshot_tests:
84+
name: Test against snapshots
85+
needs: [prerequisites]
86+
runs-on: ubuntu-latest
87+
if: needs.prerequisites.outputs.runjobs
88+
steps:
89+
- uses: actions/checkout@v2
90+
- name: Set up JDK
91+
uses: actions/setup-java@v1
92+
with:
93+
java-version: '11'
94+
- name: Setup gradle user name
95+
run: |
96+
mkdir -p ~/.gradle
97+
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
98+
- name: Snapshot Tests
99+
run: |
100+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
101+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
102+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
103+
./gradlew test --refresh-dependencies -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" -PforceMavenRepositories=snapshot -PspringVersion='5.2.+' -PreactorVersion=Dysprosium-BUILD-SNAPSHOT -PspringDataVersion=Moore-BUILD-SNAPSHOT -PlocksDisabled --stacktrace
104+
deploy_artifacts:
105+
name: Deploy Artifacts
106+
needs: [test_jdk_11, build_jdk_8, snapshot_tests]
107+
runs-on: ubuntu-latest
108+
steps:
109+
- uses: actions/checkout@v2
110+
- name: Set up JDK
111+
uses: actions/setup-java@v1
112+
with:
113+
java-version: '11'
114+
- name: Setup gradle user name
115+
run: |
116+
mkdir -p ~/.gradle
117+
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
118+
- name: Deploy artifacts
119+
run: |
120+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
121+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
122+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
123+
./gradlew deployArtifacts -PossrhTokenUsername="$OSSRH_TOKEN_USERNAME" -PossrhTokenPassword="$OSSRH_TOKEN_PASSWORD" -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --stacktrace --no-parallel
124+
./gradlew finalizeDeployArtifacts -PossrhTokenUsername="$OSSRH_TOKEN_USERNAME" -PossrhTokenPassword="$OSSRH_TOKEN_PASSWORD" -PartifactoryUsername="$ARTIFACTORY_USERNAME" -PartifactoryPassword="$ARTIFACTORY_PASSWORD" --stacktrace --no-parallel
125+
env:
126+
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.GPG_PRIVATE_KEY }}
127+
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.GPG_PASSPHRASE }}
128+
OSSRH_TOKEN_USERNAME: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }}
129+
OSSRH_TOKEN_PASSWORD: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }}
130+
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
131+
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
132+
deploy_docs:
133+
name: Deploy Docs
134+
needs: [test_jdk_11, build_jdk_8, snapshot_tests]
135+
runs-on: ubuntu-latest
136+
steps:
137+
- uses: actions/checkout@v2
138+
- name: Set up JDK
139+
uses: actions/setup-java@v1
140+
with:
141+
java-version: '11'
142+
- name: Setup gradle user name
143+
run: |
144+
mkdir -p ~/.gradle
145+
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
146+
- name: Deploy Docs
147+
run: |
148+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
149+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
150+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
151+
./gradlew deployDocs -PdeployDocsSshKey="$DOCS_SSH_KEY" -PdeployDocsSshUsername="$DOCS_USERNAME" -PdeployDocsHost="$DOCS_HOST" --stacktrace
152+
env:
153+
DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
154+
DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
155+
DOCS_HOST: ${{ secrets.DOCS_HOST }}
156+
deploy_schema:
157+
name: Deploy Schema
158+
needs: [test_jdk_11, build_jdk_8, snapshot_tests]
159+
runs-on: ubuntu-latest
160+
steps:
161+
- uses: actions/checkout@v2
162+
- name: Set up JDK
163+
uses: actions/setup-java@v1
164+
with:
165+
java-version: '11'
166+
- name: Setup gradle user name
167+
run: |
168+
mkdir -p ~/.gradle
169+
echo 'systemProp.user.name=spring-builds+github' >> ~/.gradle/gradle.properties
170+
- name: Deploy Schema
171+
run: |
172+
export GRADLE_ENTERPRISE_CACHE_USERNAME="$GRADLE_ENTERPRISE_CACHE_USER"
173+
export GRADLE_ENTERPRISE_CACHE_PASSWORD="$GRADLE_ENTERPRISE_CACHE_PASSWORD"
174+
export GRADLE_ENTERPRISE_ACCESS_KEY="$GRADLE_ENTERPRISE_SECRET_ACCESS_KEY"
175+
./gradlew deploySchema -PdeployDocsSshKey="$DOCS_SSH_KEY" -PdeployDocsSshUsername="$DOCS_USERNAME" -PdeployDocsHost="$DOCS_HOST" --stacktrace --info
176+
env:
177+
DOCS_USERNAME: ${{ secrets.DOCS_USERNAME }}
178+
DOCS_SSH_KEY: ${{ secrets.DOCS_SSH_KEY }}
179+
DOCS_HOST: ${{ secrets.DOCS_HOST }}
180+
notify_result:
181+
name: Check for failures
182+
needs: [test_jdk_11, build_jdk_8, snapshot_tests, deploy_artifacts, deploy_docs, deploy_schema]
183+
if: failure()
184+
runs-on: ubuntu-latest
185+
steps:
186+
- name: Send Slack message
187+
uses: Gamesight/[email protected]
188+
with:
189+
repo_token: ${{ secrets.GITHUB_TOKEN }}
190+
slack_webhook_url: ${{ secrets.SLACK_WEBHOOK_URL }}
191+
channel: '#spring-security-ci'
192+
name: 'CI Notifier'

0 commit comments

Comments
 (0)