You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- name: Set up Node.js 18 for runtime verification
44
47
uses: actions/setup-node@v7
45
48
with:
@@ -50,10 +53,9 @@ jobs:
50
53
node --version
51
54
node lib/bin.js -v
52
55
node lib/bin-cresc.js -v
53
-
# the programmatic entry points must also load on the minimum
54
-
# supported Node, not only the CLI banner
55
56
node -e "const m = require('./lib/exports.js'); if (!m) process.exit(1)"
56
57
node -e "const d = require('./lib/diff.js'); if (!d.diffCommands) process.exit(1)"
58
+
node scripts/smoke-lib.js
57
59
58
60
- name: Set up Node.js for npm publishing
59
61
uses: actions/setup-node@v7
@@ -64,11 +66,81 @@ jobs:
64
66
- name: Verify publishable package contents
65
67
run: npm pack --dry-run --ignore-scripts
66
68
67
-
- name: Publish to npm
69
+
- name: Check whether npm version already exists
70
+
id: npm-version
68
71
shell: bash
69
72
run: |
70
-
if [[ "${{ github.event.release.tag_name }}" == *"beta"* ]]; then
71
-
npm publish --ignore-scripts --provenance --access public --tag beta
73
+
if npm view react-native-update-cli@2.25.0 version >/dev/null 2>&1; then
74
+
echo "exists=true" >> "$GITHUB_OUTPUT"
75
+
echo "react-native-update-cli@2.25.0 already exists; npm publish will be skipped"
72
76
else
73
-
npm publish --ignore-scripts --provenance --access public
77
+
echo "exists=false" >> "$GITHUB_OUTPUT"
78
+
fi
79
+
80
+
- name: Publish to npm
81
+
if: steps.npm-version.outputs.exists != 'true'
82
+
shell: bash
83
+
run: |
84
+
if npm publish --ignore-scripts --provenance --access public; then
85
+
exit 0
86
+
fi
87
+
if npm view react-native-update-cli@2.25.0 version >/dev/null 2>&1; then
88
+
echo "2.25.0 became available concurrently; treating publish as successful"
89
+
exit 0
90
+
fi
91
+
exit 1
92
+
93
+
- name: Create GitHub release
94
+
env:
95
+
GH_TOKEN: ${{ github.token }}
96
+
shell: bash
97
+
run: |
98
+
if gh release view v2.25.0 --repo "$GITHUB_REPOSITORY" >/dev/null 2>&1; then
99
+
echo "GitHub release v2.25.0 already exists"
100
+
exit 0
101
+
fi
102
+
103
+
cat > "$RUNNER_TEMP/release-notes.md" <<'EOF'
104
+
## English
105
+
106
+
### Highlights
107
+
108
+
- Hardened Hermes detection across Android, iOS, Expo, and CI environments. Android now follows `gradle.properties`, legacy Gradle configuration, and React Native defaults in the correct order; iOS respects explicit Hermes/JSC settings, ignores commented-out Podfile options, and falls back safely to installed pods or `Podfile.lock`.
109
+
- Protected intermediate-directory cleanup by canonicalizing the target and refusing filesystem, home, project, temporary, VCS, and symbolic-link redirected locations.
110
+
- Added proxy-aware networking for API calls, uploads, registry checks, and remote archive range requests, including `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` handling.
111
+
- Reduced CLI startup overhead through lazy command loading and targeted dependency-version lookup.
112
+
113
+
### Reliability and API improvements
114
+
115
+
- Non-interactive and non-TTY executions now fail fast instead of prompting indefinitely or performing unnecessary list requests.
116
+
- App selection now rejects malformed IDs, verifies platform ownership, and validates `appKey` before persisting configuration.
- Improved diagnostics while redacting signed URLs and credentials, preserving nested network failure causes, and supporting detailed stacks through `RNU_DEBUG=1`.
119
+
- Added Node.js 18.17 compatibility checks and broad regression coverage for the new safety and runtime behavior.
0 commit comments