|
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