Skip to content

Commit 60fac2e

Browse files
cipolleschimeta-codesync[bot]
authored andcommitted
Fix post-release workflow failures (#57627)
Summary: Fixes the three post-release failures from the [0.87.0-rc.2 publish run](https://github.com/react/react-native/actions/runs/29775529785/): - Keep Flow annotations in `verifyArtifactsAreOnMaven.js` as comments so `actions/github-script` can load the file with plain Node. - Pin the Podfile lock workflow to `macos-15`, which provides the configured Xcode 16.4 version. - Use the canonical `react/react-native` owner for release asset API operations so upload POST requests are not redirected from the former owner. ## Changelog: [INTERNAL] [FIXED] - Fix post-release Maven verification, Podfile lock, and release asset jobs Pull Request resolved: #57627 Test Plan: ```sh node --check .github/workflow-scripts/verifyArtifactsAreOnMaven.js node --check scripts/releases/upload-release-assets-for-dotslash.js yarn jest .github/workflow-scripts/__tests__/verifyArtifactsAreOnMaven-test.js scripts/releases/__tests__/upload-release-assets-for-dotslash-test.js --runInBand ``` 13 tests and 15 snapshots pass. Reviewed By: zeyap Differential Revision: D113032768 Pulled By: cipolleschi fbshipit-source-id: df5f493603e6c25157fd7660b54aa409dcb742e7
1 parent 527698f commit 60fac2e

4 files changed

Lines changed: 18 additions & 14 deletions

File tree

.github/workflow-scripts/verifyArtifactsAreOnMaven.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ const ARTIFACT_CLASSIFIERS = [
3434
];
3535

3636
async function verifyArtifactsAreOnMaven(
37-
version: string,
38-
retries: number = MAX_RETRIES,
39-
): Promise<void> {
37+
version /*: string */,
38+
retries /*: number */ = MAX_RETRIES,
39+
) /*: Promise<void> */ {
4040
if (version.startsWith('v')) {
4141
version = version.substring(1);
4242
}

.github/workflows/bump-podfile-lock.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55

66
jobs:
77
bump-podfile-lock:
8-
runs-on: macos-latest
8+
runs-on: macos-15
99
steps:
1010
- name: Checkout
1111
uses: actions/checkout@v6

scripts/releases/__tests__/__snapshots__/upload-release-assets-for-dotslash-test.js.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Array [
2828
Array [
2929
Object {
3030
"asset_id": "1",
31-
"owner": "facebook",
31+
"owner": "react",
3232
"repo": "react-native",
3333
},
3434
],
@@ -47,7 +47,7 @@ Array [
4747
"content-type": "text/plain",
4848
},
4949
"name": "test.tar.gz",
50-
"owner": "facebook",
50+
"owner": "react",
5151
"release_id": "1",
5252
"repo": "react-native",
5353
},
@@ -114,7 +114,7 @@ Array [
114114
"content-type": "text/plain",
115115
},
116116
"name": "test.tar.gz",
117-
"owner": "facebook",
117+
"owner": "react",
118118
"release_id": "1",
119119
"repo": "react-native",
120120
},
@@ -194,7 +194,7 @@ Array [
194194
"content-type": "text/plain",
195195
},
196196
"name": "test.tar.gz",
197-
"owner": "facebook",
197+
"owner": "react",
198198
"release_id": "1",
199199
"repo": "react-native",
200200
},

scripts/releases/upload-release-assets-for-dotslash.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@ const path = require('node:path');
2525
const {parseArgs} = require('node:util');
2626
const nullthrows = require('nullthrows');
2727

28+
// Upload POSTs are not preserved when GitHub redirects from the former owner.
29+
const GITHUB_OWNER = 'react';
30+
const GITHUB_REPO = 'react-native';
31+
2832
/*::
2933
import type {DotSlashProvider, DotSlashHttpProvider, DotSlashArtifactInfo} from './utils/dotslash-utils';
3034
import type {IOctokit} from './utils/octokit-utils';
@@ -138,8 +142,8 @@ async function getReleaseAssetMap(
138142
octokit /*: IOctokit */,
139143
) /*: Promise<ReleaseAssetMap> */ {
140144
const existingAssets = await octokit.repos.listReleaseAssets({
141-
owner: 'facebook',
142-
repo: 'react-native',
145+
owner: GITHUB_OWNER,
146+
repo: GITHUB_REPO,
143147
release_id: releaseId,
144148
});
145149
return new Map(existingAssets.data.map(asset => [asset.name, asset]));
@@ -305,8 +309,8 @@ async function maybeDeleteExistingReleaseAsset(
305309
}
306310
console.log(`[${name}] Deleting existing release asset...`);
307311
await octokit.repos.deleteReleaseAsset({
308-
owner: 'facebook',
309-
repo: 'react-native',
312+
owner: GITHUB_OWNER,
313+
repo: GITHUB_REPO,
310314
asset_id: existingAsset.id,
311315
});
312316
}
@@ -360,8 +364,8 @@ async function uploadAndVerifyReleaseAsset(
360364
const {
361365
data: {browser_download_url},
362366
} = await octokit.repos.uploadReleaseAsset({
363-
owner: 'facebook',
364-
repo: 'react-native',
367+
owner: GITHUB_OWNER,
368+
repo: GITHUB_REPO,
365369
release_id: releaseId,
366370
name,
367371
data,

0 commit comments

Comments
 (0)