Skip to content

Commit f8d19f8

Browse files
BYKantonislucas-zimerman
authored
ci(release): Switch from action-prepare-release to Craft (#5519)
* ci(release): Switch from action-prepare-release to Craft This PR migrates from the deprecated action-prepare-release to the new Craft GitHub Actions (reusable workflow or composite action). Changes: - Migrate .github/workflows/release.yml to Craft reusable workflow * ci(release): Restore GitHub App token authentication The previous migration incorrectly removed the GitHub App token authentication step. This commit restores it by switching to the composite action pattern which preserves the auth flow. * fix: Pin actions to SHA and add permissions blocks * fix: Restore Node.js and yarn setup for preReleaseCommand * fix: Use correct action version SHAs (restore original versions) * fix: Use correct action version SHAs (restore original versions) * fix: Clean up action version comments * Pin craft tag version Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com> --------- Co-authored-by: Antonis Lilis <antonis.lilis@sentry.io> Co-authored-by: LucasZF <lucas-zimerman1@hotmail.com>
1 parent df1f7df commit f8d19f8

12 files changed

+75
-51
lines changed

.github/workflows/buildandtest.yml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
needs: [diff_check]
2323
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
2424
steps:
25-
- uses: actions/checkout@v6
25+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
2626
- run: npm i -g corepack
27-
- uses: actions/setup-node@v6
27+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
2828
with:
2929
package-manager-cache: false
3030
node-version: 18
@@ -41,9 +41,9 @@ jobs:
4141
needs: [diff_check]
4242
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
4343
steps:
44-
- uses: actions/checkout@v6
44+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
4545
- run: npm i -g corepack
46-
- uses: actions/setup-node@v6
46+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
4747
with:
4848
package-manager-cache: false
4949
node-version: 18
@@ -87,9 +87,9 @@ jobs:
8787
needs: [diff_check]
8888
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
8989
steps:
90-
- uses: actions/checkout@v6
90+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
9191
- run: npm i -g corepack
92-
- uses: actions/setup-node@v6
92+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
9393
with:
9494
package-manager-cache: false
9595
node-version: 18
@@ -111,9 +111,9 @@ jobs:
111111
needs: [diff_check]
112112
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
113113
steps:
114-
- uses: actions/checkout@v6
114+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
115115
- run: npm i -g corepack
116-
- uses: actions/setup-node@v6
116+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
117117
with:
118118
package-manager-cache: false
119119
node-version: 18
@@ -155,9 +155,9 @@ jobs:
155155
env:
156156
YARN_ENABLE_IMMUTABLE_INSTALLS: false
157157
steps:
158-
- uses: actions/checkout@v6
158+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
159159
- run: npm i -g corepack
160-
- uses: actions/setup-node@v6
160+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
161161
with:
162162
package-manager-cache: false
163163
node-version: 18
@@ -186,9 +186,9 @@ jobs:
186186
needs: [job_build, diff_check]
187187
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
188188
steps:
189-
- uses: actions/checkout@v6
189+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
190190
- run: npm i -g corepack
191-
- uses: actions/setup-node@v6
191+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
192192
with:
193193
package-manager-cache: false
194194
node-version: 18
@@ -221,9 +221,9 @@ jobs:
221221
platform: ['ios', 'android']
222222
dev: [true, false]
223223
steps:
224-
- uses: actions/checkout@v6
224+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
225225
- run: npm i -g corepack
226-
- uses: actions/setup-node@v6
226+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
227227
with:
228228
package-manager-cache: false
229229
node-version: 18
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Changelog Preview
2+
on:
3+
pull_request:
4+
types:
5+
- opened
6+
- synchronize
7+
- reopened
8+
- edited
9+
- labeled
10+
permissions:
11+
contents: write
12+
pull-requests: write
13+
14+
jobs:
15+
changelog-preview:
16+
uses: getsentry/craft/.github/workflows/changelog-preview.yml@39ee616a6a58dc64797feecb145d66770492b66c # V2
17+
secrets: inherit

.github/workflows/changes-in-high-risk-code.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
high_risk_code: ${{ steps.changes.outputs.high_risk_code }}
1717
high_risk_code_files: ${{ steps.changes.outputs.high_risk_code_files }}
1818
steps:
19-
- uses: actions/checkout@v6
19+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
2020
- name: Get changed files
2121
id: changes
2222
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2

.github/workflows/codegen.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ jobs:
3636
--outputPath codegen \
3737
--targetPlatform ios
3838
steps:
39-
- uses: actions/checkout@v6
39+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
4040
- run: npm i -g corepack
41-
- uses: actions/setup-node@v6
41+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
4242
with:
4343
package-manager-cache: false
4444
node-version: 18

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040

4141
steps:
4242
- name: Checkout repository
43-
uses: actions/checkout@v6
43+
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL

.github/workflows/e2e-v2.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
name: Android
5757
appPlain: performance-tests/TestAppPlain/android/app/build/outputs/apk/release/app-release.apk
5858
steps:
59-
- uses: actions/checkout@v6
59+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
6060

6161
- uses: ./.github/actions/disk-cleanup
6262
if: ${{ matrix.platform == 'android' }}
@@ -65,7 +65,7 @@ jobs:
6565
if: ${{ matrix.platform == 'ios' }}
6666

6767
- run: npm i -g corepack
68-
- uses: actions/setup-node@v6
68+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
6969
with:
7070
package-manager-cache: false
7171
node-version: 20
@@ -227,7 +227,7 @@ jobs:
227227
ios-use-frameworks: 'dynamic'
228228

229229
steps:
230-
- uses: actions/checkout@v6
230+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
231231

232232
- uses: ./.github/actions/disk-cleanup
233233
if: ${{ matrix.platform == 'android' }}
@@ -251,7 +251,7 @@ jobs:
251251
if: ${{ matrix.platform == 'ios' }}
252252

253253
- run: npm i -g corepack
254-
- uses: actions/setup-node@v6
254+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
255255
with:
256256
package-manager-cache: false
257257
node-version: 20
@@ -328,7 +328,7 @@ jobs:
328328
runs-on: ubuntu-latest
329329

330330
steps:
331-
- uses: actions/checkout@v6
331+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
332332

333333
- name: Install Maestro
334334
uses: dniHze/maestro-test-action@bda8a93211c86d0a05b7a4597c5ad134566fbde4 # pin@v1.0.0
@@ -355,7 +355,7 @@ jobs:
355355

356356
- name: Enable Corepack
357357
run: npm i -g corepack
358-
- uses: actions/setup-node@v6
358+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
359359
with:
360360
package-manager-cache: false
361361
node-version: 20

.github/workflows/native-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ jobs:
3131
needs: [diff_check]
3232
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
3333
steps:
34-
- uses: actions/checkout@v6
34+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
3535

3636
- name: Enable Corepack
3737
run: npm i -g corepack
38-
- uses: actions/setup-node@v6
38+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
3939
with:
4040
package-manager-cache: false
4141
node-version: 18
@@ -69,7 +69,7 @@ jobs:
6969
needs: [diff_check]
7070
if: ${{ needs.diff_check.outputs.skip_ci != 'true' }}
7171
steps:
72-
- uses: actions/checkout@v6
72+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
7373

7474
- uses: ./.github/actions/disk-cleanup
7575

.github/workflows/release.yml

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,50 @@ on:
33
workflow_dispatch:
44
inputs:
55
version:
6-
description: Version to release
7-
required: true
6+
description: Version to release (or "auto")
7+
required: false
88
force:
9-
description: Force a release even when there are release-blockers (optional)
9+
description: Force a release even when there are release-blockers
1010
required: false
1111
merge_target:
12-
description: Target branch to merge into. Uses the default branch as a fallback (optional)
12+
description: Target branch to merge into
1313
required: false
1414

15+
permissions:
16+
contents: write
17+
pull-requests: write
18+
1519
jobs:
16-
job_release:
20+
release:
1721
runs-on: ubuntu-latest
18-
name: "Release a new version"
22+
name: Release a new version
1923
steps:
2024
- name: Get auth token
2125
id: token
22-
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
26+
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2
2327
with:
2428
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
2529
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}
26-
- name: Check out current commit (${{ github.sha }})
27-
uses: actions/checkout@v6
30+
31+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
2832
with:
2933
token: ${{ steps.token.outputs.token }}
3034
fetch-depth: 0
35+
3136
- run: npm i -g corepack
32-
- uses: actions/setup-node@v6
37+
38+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
3339
with:
3440
package-manager-cache: false
3541
node-version: 20
36-
cache: 'yarn'
42+
cache: yarn
3743
cache-dependency-path: yarn.lock
44+
3845
- name: Prepare release
39-
uses: getsentry/action-prepare-release@v1
46+
uses: getsentry/craft@39ee616a6a58dc64797feecb145d66770492b66c # v2
4047
env:
4148
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
4249
with:
43-
version: ${{ github.event.inputs.version }}
44-
force: ${{ github.event.inputs.force }}
45-
merge_target: ${{ github.event.inputs.merge_target }}
50+
version: ${{ inputs.version }}
51+
force: ${{ inputs.force }}
52+
merge_target: ${{ inputs.merge_target }}

.github/workflows/sample-application-expo.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ jobs:
5454
- platform: 'android'
5555
ios-use-frameworks: 'dynamic-frameworks'
5656
steps:
57-
- uses: actions/checkout@v6
57+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
5858

5959
- name: Enable Corepack
6060
run: npm i -g corepack
61-
- uses: actions/setup-node@v6
61+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
6262
with:
6363
package-manager-cache: false
6464
node-version: 18

.github/workflows/sample-application.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ jobs:
6969
- ios-use-frameworks: 'dynamic-frameworks'
7070
platform: 'macos'
7171
steps:
72-
- uses: actions/checkout@v6
72+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
7373

7474
- name: Enable Corepack
7575
run: npm i -g corepack
76-
- uses: actions/setup-node@v6
76+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
7777
with:
7878
package-manager-cache: false
7979
node-version: 18
@@ -244,7 +244,7 @@ jobs:
244244
build-type: 'production'
245245

246246
steps:
247-
- uses: actions/checkout@v6
247+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
248248

249249
- name: Install Maestro
250250
uses: dniHze/maestro-test-action@bda8a93211c86d0a05b7a4597c5ad134566fbde4 # pin@v1.0.0
@@ -277,7 +277,7 @@ jobs:
277277

278278
- name: Enable Corepack
279279
run: npm i -g corepack
280-
- uses: actions/setup-node@v6
280+
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6
281281
with:
282282
package-manager-cache: false
283283
node-version: 18

0 commit comments

Comments
 (0)