diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 698da54..9f60411 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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 diff --git a/RELEASE.md b/RELEASE.md index 2804343..1b985c4 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -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.