| 
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