Skip to content

Commit 54a703d

Browse files
committed
ci: split release-please into independent release and PR creation steps
1 parent 87b0e9d commit 54a703d

1 file changed

Lines changed: 40 additions & 29 deletions

File tree

.github/workflows/release-please.yml

Lines changed: 40 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,38 +20,38 @@ jobs:
2020
package-server-otel-released: ${{ steps.release.outputs['libs/server-sdk-otel--release_created'] }}
2121
package-server-otel-tag: ${{ steps.release.outputs['libs/server-sdk-otel--tag_name'] }}
2222
steps:
23-
# https://github.com/googleapis/release-please-action/releases/tag/v4.3.0
24-
- uses: googleapis/release-please-action@c2a5a2bd6a758a0937f1ddb1e8950609867ed15c
23+
# Create any releases first, then create tags, and then optionally create any new PRs.
24+
- uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
2525
id: release
2626
with:
2727
token: ${{ secrets.GITHUB_TOKEN }}
28+
skip-github-pull-request: true
2829

29-
create-tags:
30-
needs: ['release-please']
31-
if: >-
32-
needs.release-please.outputs.package-client-released == 'true' ||
33-
needs.release-please.outputs.package-server-released == 'true' ||
34-
needs.release-please.outputs.package-server-redis-released == 'true' ||
35-
needs.release-please.outputs.package-server-otel-released == 'true'
36-
runs-on: ubuntu-22.04
37-
permissions:
38-
contents: write
39-
steps:
30+
# Need the repository content to be able to create and push tags.
4031
# https://github.com/actions/checkout/releases/tag/v4.3.0
4132
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
42-
with:
43-
fetch-depth: 0
33+
if: >-
34+
steps.release.outputs['libs/client-sdk--release_created'] == 'true' ||
35+
steps.release.outputs['libs/server-sdk--release_created'] == 'true' ||
36+
steps.release.outputs['libs/server-sdk-redis-source--release_created'] == 'true' ||
37+
steps.release.outputs['libs/server-sdk-otel--release_created'] == 'true'
38+
4439
- name: Create release tags
40+
if: >-
41+
steps.release.outputs['libs/client-sdk--release_created'] == 'true' ||
42+
steps.release.outputs['libs/server-sdk--release_created'] == 'true' ||
43+
steps.release.outputs['libs/server-sdk-redis-source--release_created'] == 'true' ||
44+
steps.release.outputs['libs/server-sdk-otel--release_created'] == 'true'
4545
env:
4646
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47-
CLIENT_TAG: ${{ needs.release-please.outputs.package-client-tag }}
48-
SERVER_TAG: ${{ needs.release-please.outputs.package-server-tag }}
49-
SERVER_REDIS_TAG: ${{ needs.release-please.outputs.package-server-redis-tag }}
50-
SERVER_OTEL_TAG: ${{ needs.release-please.outputs.package-server-otel-tag }}
51-
CLIENT_RELEASED: ${{ needs.release-please.outputs.package-client-released }}
52-
SERVER_RELEASED: ${{ needs.release-please.outputs.package-server-released }}
53-
SERVER_REDIS_RELEASED: ${{ needs.release-please.outputs.package-server-redis-released }}
54-
SERVER_OTEL_RELEASED: ${{ needs.release-please.outputs.package-server-otel-released }}
47+
CLIENT_TAG: ${{ steps.release.outputs['libs/client-sdk--tag_name'] }}
48+
SERVER_TAG: ${{ steps.release.outputs['libs/server-sdk--tag_name'] }}
49+
SERVER_REDIS_TAG: ${{ steps.release.outputs['libs/server-sdk-redis-source--tag_name'] }}
50+
SERVER_OTEL_TAG: ${{ steps.release.outputs['libs/server-sdk-otel--tag_name'] }}
51+
CLIENT_RELEASED: ${{ steps.release.outputs['libs/client-sdk--release_created'] }}
52+
SERVER_RELEASED: ${{ steps.release.outputs['libs/server-sdk--release_created'] }}
53+
SERVER_REDIS_RELEASED: ${{ steps.release.outputs['libs/server-sdk-redis-source--release_created'] }}
54+
SERVER_OTEL_RELEASED: ${{ steps.release.outputs['libs/server-sdk-otel--release_created'] }}
5555
run: |
5656
git config user.name "github-actions[bot]"
5757
git config user.email "github-actions[bot]@users.noreply.github.com"
@@ -78,13 +78,24 @@ jobs:
7878
fi
7979
done
8080
81+
- uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
82+
if: >-
83+
steps.release.outputs['libs/client-sdk--release_created'] != 'true' &&
84+
steps.release.outputs['libs/server-sdk--release_created'] != 'true' &&
85+
steps.release.outputs['libs/server-sdk-redis-source--release_created'] != 'true' &&
86+
steps.release.outputs['libs/server-sdk-otel--release_created'] != 'true'
87+
id: release-prs
88+
with:
89+
token: ${{ secrets.GITHUB_TOKEN }}
90+
skip-github-release: true
91+
8192
release-client:
8293
strategy:
8394
matrix:
8495
# Each of the platforms for which release-artifacts need generated.
8596
os: [ ubuntu-22.04, windows-2022, macos-15-large ]
8697
runs-on: ${{ matrix.os }}
87-
needs: [ 'release-please', 'create-tags' ]
98+
needs: [ 'release-please' ]
8899
if: ${{ needs.release-please.outputs.package-client-released == 'true'}}
89100
permissions:
90101
contents: write
@@ -123,7 +134,7 @@ jobs:
123134

124135
release-client-mac-arm64:
125136
runs-on: macos-15
126-
needs: [ 'release-please', 'create-tags' ]
137+
needs: [ 'release-please' ]
127138
if: ${{ needs.release-please.outputs.package-client-released == 'true'}}
128139
permissions:
129140
contents: write
@@ -158,7 +169,7 @@ jobs:
158169
# Each of the platforms for which release-artifacts need generated.
159170
os: [ ubuntu-22.04, windows-2022, macos-15-large ]
160171
runs-on: ${{ matrix.os }}
161-
needs: [ 'release-please', 'create-tags' ]
172+
needs: [ 'release-please' ]
162173
if: ${{ needs.release-please.outputs.package-server-released == 'true'}}
163174
permissions:
164175
contents: write
@@ -197,7 +208,7 @@ jobs:
197208

198209
release-server-mac-arm64:
199210
runs-on: macos-15
200-
needs: [ 'release-please', 'create-tags' ]
211+
needs: [ 'release-please' ]
201212
if: ${{ needs.release-please.outputs.package-server-released == 'true'}}
202213
permissions:
203214
contents: write
@@ -232,7 +243,7 @@ jobs:
232243
# Each of the platforms for which release-artifacts need generated.
233244
os: [ ubuntu-22.04, windows-2022, macos-15-large ]
234245
runs-on: ${{ matrix.os }}
235-
needs: [ 'release-please', 'create-tags' ]
246+
needs: [ 'release-please' ]
236247
if: ${{ needs.release-please.outputs.package-server-redis-released == 'true'}}
237248
permissions:
238249
contents: write
@@ -271,7 +282,7 @@ jobs:
271282

272283
release-server-redis-mac-arm64:
273284
runs-on: macos-15
274-
needs: [ 'release-please', 'create-tags' ]
285+
needs: [ 'release-please' ]
275286
if: ${{ needs.release-please.outputs.package-server-redis-released == 'true'}}
276287
permissions:
277288
contents: write

0 commit comments

Comments
 (0)