|
6 | 6 | concurrency:
|
7 | 7 | group: ${{ github.workflow }}-${{ github.ref }}
|
8 | 8 | jobs:
|
9 |
| - build-and-stage-release: |
10 |
| - name: Build and Stage Release |
11 |
| - if: ${{ github.repository == 'spring-projects/spring-boot' || github.repository == 'spring-projects/spring-boot-commercial' }} |
12 |
| - runs-on: ${{ vars.UBUNTU_MEDIUIM || 'ubuntu-latest' }} |
13 |
| - steps: |
14 |
| - - name: Check Out Code |
15 |
| - uses: actions/checkout@v4 |
16 |
| - - name: Build and Publish |
17 |
| - id: build-and-publish |
18 |
| - uses: ./.github/actions/build |
19 |
| - with: |
20 |
| - commercial-release-repository-url: ${{ vars.COMMERCIAL_RELEASE_REPO_URL }} |
21 |
| - commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }} |
22 |
| - commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }} |
23 |
| - commercial-snapshot-repository-url: ${{ vars.COMMERCIAL_SNAPSHOT_REPO_URL }} |
24 |
| - develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }} |
25 |
| - gradle-cache-read-only: false |
26 |
| - publish: true |
27 |
| - - name: Stage Release |
28 |
| - uses: spring-io/artifactory-deploy-action@26bbe925a75f4f863e1e529e85be2d0093cac116 # v0.0.1 |
29 |
| - with: |
30 |
| - artifact-properties: | |
31 |
| - /**/spring-boot-docs-*.zip::zip.type=docs,zip.deployed=false |
32 |
| - build-name: ${{ vars.COMMERCIAL && format('spring-boot-commercial-{0}', steps.build-and-publish.outputs.version) || format('spring-boot-{0}', steps.build-and-publish.outputs.version) }} |
33 |
| - folder: 'deployment-repository' |
34 |
| - password: ${{ vars.COMMERCIAL && secrets.COMMERCIAL_ARTIFACTORY_PASSWORD || secrets.ARTIFACTORY_PASSWORD }} |
35 |
| - project: ${{ vars.COMMERCIAL && 'spring' }} |
36 |
| - repository: ${{ vars.COMMERCIAL && 'spring-enterprise-maven-stage-local' || 'libs-staging-local' }} |
37 |
| - signing-key: ${{ secrets.GPG_PRIVATE_KEY }} |
38 |
| - signing-passphrase: ${{ secrets.GPG_PASSPHRASE }} |
39 |
| - uri: ${{ vars.COMMERCIAL_DEPLOY_REPO_URL || 'https://repo.spring.io' }} |
40 |
| - username: ${{ vars.COMMERCIAL && secrets.COMMERCIAL_ARTIFACTORY_USERNAME || secrets.ARTIFACTORY_USERNAME }} |
41 |
| - outputs: |
42 |
| - version: ${{ steps.build-and-publish.outputs.version }} |
43 |
| - verify: |
44 |
| - name: Verify |
45 |
| - needs: build-and-stage-release |
46 |
| - uses: ./.github/workflows/verify.yml |
47 |
| - secrets: |
48 |
| - commercial-repository-password: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_PASSWORD }} |
49 |
| - commercial-repository-username: ${{ secrets.COMMERCIAL_ARTIFACTORY_RO_USERNAME }} |
50 |
| - google-chat-webhook-url: ${{ secrets.GOOGLE_CHAT_WEBHOOK_URL }} |
51 |
| - opensource-repository-password: ${{ secrets.ARTIFACTORY_PASSWORD }} |
52 |
| - opensource-repository-username: ${{ secrets.ARTIFACTORY_USERNAME }} |
53 |
| - token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} |
54 |
| - with: |
55 |
| - staging: true |
56 |
| - version: ${{ needs.build-and-stage-release.outputs.version }} |
57 |
| - sync-to-maven-central: |
58 |
| - name: Sync to Maven Central |
59 |
| - if: ${{ !vars.COMMERCIAL }} |
60 |
| - needs: |
61 |
| - - build-and-stage-release |
62 |
| - - verify |
63 |
| - runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }} |
64 |
| - steps: |
65 |
| - - name: Check Out Code |
66 |
| - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 |
67 |
| - - name: Sync to Maven Central |
68 |
| - uses: ./.github/actions/sync-to-maven-central |
69 |
| - with: |
70 |
| - jfrog-cli-config-token: ${{ secrets.JF_ARTIFACTORY_SPRING }} |
71 |
| - ossrh-s01-staging-profile: ${{ secrets.OSSRH_S01_STAGING_PROFILE }} |
72 |
| - ossrh-s01-token-password: ${{ secrets.OSSRH_S01_TOKEN_PASSWORD }} |
73 |
| - ossrh-s01-token-username: ${{ secrets.OSSRH_S01_TOKEN_USERNAME }} |
74 |
| - spring-boot-version: ${{ needs.build-and-stage-release.outputs.version }} |
75 |
| - promote-release: |
76 |
| - name: Promote Release |
77 |
| - needs: |
78 |
| - - build-and-stage-release |
79 |
| - - sync-to-maven-central |
80 |
| - runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }} |
81 |
| - steps: |
82 |
| - - name: Set up JFrog CLI |
83 |
| - uses: jfrog/setup-jfrog-cli@9fe0f98bd45b19e6e931d457f4e98f8f84461fb5 # v4.4.1 |
84 |
| - env: |
85 |
| - JF_ENV_SPRING: ${{ vars.COMMERCIAL && secrets.COMMERCIAL_JF_ARTIFACTORY_SPRING || secrets.JF_ARTIFACTORY_SPRING }} |
86 |
| - - name: Promote open source build |
87 |
| - if: ${{ !vars.COMMERCIAL }} |
88 |
| - run: jfrog rt build-promote ${{ format('spring-boot-{0}', needs.build-and-stage-release.outputs.version)}} ${{ github.run_number }} libs-release-local |
89 |
| - - name: Promote commercial build |
90 |
| - if: ${{ vars.COMMERCIAL }} |
91 |
| - run: jfrog rt build-promote ${{ format('spring-boot-commercial-{0}', needs.build-and-stage-release.outputs.version)}} ${{ github.run_number }} spring-enterprise-maven-prod-local --project spring |
92 |
| - publish-gradle-plugin: |
93 |
| - name: Publish Gradle Plugin |
94 |
| - if: ${{ !vars.COMMERCIAL }} |
95 |
| - needs: |
96 |
| - - build-and-stage-release |
97 |
| - - sync-to-maven-central |
98 |
| - runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }} |
99 |
| - steps: |
100 |
| - - name: Check Out Code |
101 |
| - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 |
102 |
| - - name: Publish |
103 |
| - uses: ./.github/actions/publish-gradle-plugin |
104 |
| - with: |
105 |
| - gradle-plugin-publish-key: ${{ secrets.GRADLE_PLUGIN_PUBLISH_KEY }} |
106 |
| - gradle-plugin-publish-secret: ${{ secrets.GRADLE_PLUGIN_PUBLISH_SECRET }} |
107 |
| - jfrog-cli-config-token: ${{ secrets.JF_ARTIFACTORY_SPRING }} |
108 |
| - plugin-version: ${{ needs.build-and-stage-release.outputs.version }} |
109 |
| - publish-to-sdkman: |
110 |
| - name: Publish to SDKMAN! |
111 |
| - if: ${{ !vars.COMMERCIAL }} |
112 |
| - needs: |
113 |
| - - build-and-stage-release |
114 |
| - - sync-to-maven-central |
115 |
| - runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }} |
116 |
| - steps: |
117 |
| - - name: Check Out Code |
118 |
| - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 |
119 |
| - - name: Publish to SDKMAN! |
120 |
| - uses: ./.github/actions/publish-to-sdkman |
121 |
| - with: |
122 |
| - make-default: false |
123 |
| - sdkman-consumer-key: ${{ secrets.SDKMAN_CONSUMER_KEY }} |
124 |
| - sdkman-consumer-token: ${{ secrets.SDKMAN_CONSUMER_TOKEN }} |
125 |
| - spring-boot-version: ${{ needs.build-and-stage-release.outputs.version }} |
126 | 9 | create-github-release:
|
127 | 10 | name: Create GitHub Release
|
128 |
| - needs: |
129 |
| - - build-and-stage-release |
130 |
| - - promote-release |
131 |
| - - publish-gradle-plugin |
132 |
| - - publish-to-sdkman |
133 | 11 | runs-on: ${{ vars.UBUNTU_SMALL || 'ubuntu-latest' }}
|
134 | 12 | steps:
|
135 | 13 | - name: Check Out Code
|
136 | 14 | uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
|
137 | 15 | - name: Create GitHub Release
|
138 | 16 | uses: ./.github/actions/create-github-release
|
139 | 17 | with:
|
140 |
| - milestone: ${{ needs.build-and-stage-release.outputs.version }} |
| 18 | + milestone: '3.2.11' |
141 | 19 | token: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
|
142 | 20 | commercial: ${{ vars.COMMERCIAL }}
|
0 commit comments