Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
node -e 'const r=require(process.argv[1]); if(r.error?.code!=="E404") process.exit(1)' "$RUNNER_TEMP/registry.json"
npm publish "./artifacts/react-native-reserved-regions-$version.tgz" --provenance --access public --tag "$dist_tag"
fi
for attempt in {1..12}; do
for attempt in {1..60}; do
if npm view "react-native-reserved-regions@$version" version --json > "$RUNNER_TEMP/version.json" &&
npm view react-native-reserved-regions "dist-tags.$dist_tag" --json > "$RUNNER_TEMP/dist-tag.json" &&
node -e 'const fs=require("node:fs"); const [a,b,v]=process.argv.slice(1); process.exit(JSON.parse(fs.readFileSync(a))===v && JSON.parse(fs.readFileSync(b))===v ? 0 : 1)' "$RUNNER_TEMP/version.json" "$RUNNER_TEMP/dist-tag.json" "$version"; then
Expand Down
4 changes: 4 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@ native evidence is an explicit release limitation, not a passing check.
- Interrupted publish: first query the exact registry version. The workflow skips
an already-existing version and verifies its dist-tag. It refuses registry
lookup errors other than E404 before publishing.
- Failed verification after a `+ react-native-reserved-regions@X.Y.Z` publish line:
npm can take several minutes to expose a new version. Query the registry
before anything else. Once `npm view` returns the version, rerunning the
workflow only re-verifies it, because it skips an existing version.
- A newer release has moved the dist-tag: do not rerun an old release to move it
backwards. Verify the older version separately and preserve the newer tag.
- A release cannot be overwritten on npm. Fix the code and publish a new version.
Expand Down
Loading