|
8 | 8 | - cron: '0 10 * * *' # Once per day at 10am UTC
|
9 | 9 | workflow_dispatch: # Manual trigger
|
10 | 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 | 11 | jobs:
|
19 | 12 | build:
|
20 | 13 | 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 |
23 | 15 | strategy:
|
24 | 16 | 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: |
51 | 25 | 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: |
81 | 32 | 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 |
0 commit comments