FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

chore: ci workflow improvements for prerelease · NativeScript/NativeScript@7e8f7f2 · GitHub

Repository navigation

Commit 7e8f7f2

Browse files
committed
chore: ci workflow improvements for prerelease
[skip ci]
1 parent 47d6c31 commit 7e8f7f2

3 files changed

Lines changed: 58 additions & 19 deletions

File tree

‎.github/workflows/secure_nx_release.yml‎

Lines changed: 53 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@ on:
99
- '*-*'
1010
workflow_dispatch:
1111
inputs:
12+
version:
13+
description: "Exact version to release (e.g. 8.0.0-rc.0). Overrides release-type/preid; npm dist-tag is derived from it (8.0.0-rc.0 -> rc, 8.0.0 -> latest)"
14+
required: false
15+
type: string
16+
default: ""
1217
release-type:
13-
description: "Version bump (patch/minor/major publish to npm 'latest'; prerelease uses 'preid')"
18+
description: "Version bump when 'version' is empty (patch/minor/major publish to npm 'latest'; prerelease uses 'preid')"
1419
required: false
1520
type: choice
1621
options:
@@ -20,7 +25,7 @@ on:
2025
- major
2126
default: prerelease
2227
preid:
23-
description: "Prerelease identifier (used only when release-type=prerelease; also becomes the npm dist-tag, e.g. next | canary)"
28+
description: "Prerelease identifier (used only when release-type=prerelease and 'version' is empty; also becomes the npm dist-tag, e.g. next | canary)"
2429
required: false
2530
type: string
2631
default: next
@@ -89,30 +94,57 @@ jobs:
8994
- name: Resolve release context
9095
id: ctx
9196
shell: bash
97+
env:
98+
INPUT_VERSION: ${{ inputs.version }}
99+
INPUT_RELEASE_TYPE: ${{ inputs['release-type'] }}
100+
INPUT_PREID: ${{ inputs.preid }}
101+
INPUT_SCOPE: ${{ inputs['release-group'] }}
102+
INPUT_DRY_RUN: ${{ inputs['dry-run'] }}
92103
run: |
93104
set -euo pipefail
94105
95106
if [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
96-
release_type="${{ inputs['release-type'] }}"
97-
preid="${{ inputs['preid'] }}"
98-
scope="${{ inputs['release-group'] }}"
99-
dry_run="${{ inputs['dry-run'] }}"
107+
version="${INPUT_VERSION}"
108+
release_type="${INPUT_RELEASE_TYPE}"
109+
preid="${INPUT_PREID}"
110+
scope="${INPUT_SCOPE}"
111+
dry_run="${INPUT_DRY_RUN}"
100112
mode="dispatch"
101113
102-
# npm dist-tag follows release type: prerelease -> preid, stable -> latest
103-
if [[ "$release_type" == "prerelease" ]]; then
104-
dist_tag="$preid"
114+
if [[ -n "$version" ]]; then
115+
specifier="$version"
116+
release_type=""
117+
preid=""
118+
if [[ "$version" == *-* ]]; then
119+
# npm dist-tag is the alphabetic prerelease label (8.0.0-rc.0 -> rc); purely numeric labels fall back to next.
120+
prerelease="${version#*-}"
121+
dist_tag="${prerelease%%.*}"
122+
if [[ "$dist_tag" =~ ^[0-9]+$ ]]; then
123+
dist_tag="next"
124+
fi
125+
else
126+
dist_tag="latest"
127+
fi
105128
else
106-
dist_tag="latest"
129+
specifier="$release_type"
130+
# npm dist-tag follows release type: prerelease -> preid, stable -> latest
131+
if [[ "$release_type" == "prerelease" ]]; then
132+
dist_tag="$preid"
133+
else
134+
preid=""
135+
dist_tag="latest"
136+
fi
107137
fi
108138
elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then
139+
specifier=""
109140
release_type=""
110141
preid=""
111142
dist_tag=""
112143
scope=""
113144
dry_run="false"
114145
mode="tag"
115146
else
147+
specifier="prerelease"
116148
release_type="prerelease"
117149
preid="next"
118150
dist_tag="next"
@@ -122,6 +154,7 @@ jobs:
122154
fi
123155
124156
echo "mode=${mode}" >> "$GITHUB_OUTPUT"
157+
echo "specifier=${specifier}" >> "$GITHUB_OUTPUT"
125158
echo "release_type=${release_type}" >> "$GITHUB_OUTPUT"
126159
echo "preid=${preid}" >> "$GITHUB_OUTPUT"
127160
echo "dist_tag=${dist_tag}" >> "$GITHUB_OUTPUT"
@@ -222,6 +255,7 @@ jobs:
222255
# Orchestrated release: bumps versions, generates changelogs, commits + tags in one shot.
223256
# The orchestrator does not accept --git-* flags (config-driven only); push is handled in the next step.
224257
# --skip-publish keeps publishing as a separate step below so the OIDC token-clearing logic still runs.
258+
# A project with no prior release tag gets its changelog from its first commit (release.changelog.automaticFromRef in nx.json).
225259
- name: nx release version + changelog (dispatch)
226260
if: ${{ steps.ctx.outputs.mode == 'dispatch' && !inputs.dry-run }}
227261
shell: bash
@@ -234,13 +268,13 @@ jobs:
234268
projects_arg=(--projects "$scope")
235269
fi
236270
237-
release_type="${{ steps.ctx.outputs.release_type }}"
271+
preid="${{ steps.ctx.outputs.preid }}"
238272
preid_arg=()
239-
if [[ "$release_type" == "prerelease" ]]; then
240-
preid_arg=(--preid "${{ steps.ctx.outputs.preid }}")
273+
if [[ -n "$preid" ]]; then
274+
preid_arg=(--preid "$preid")
241275
fi
242276
243-
npx nx release "$release_type" \
277+
npx nx release "${{ steps.ctx.outputs.specifier }}" \
244278
"${preid_arg[@]}" \
245279
"${projects_arg[@]}" \
246280
--skip-publish \
@@ -262,13 +296,13 @@ jobs:
262296
projects_arg=(--projects "$scope")
263297
fi
264298
265-
release_type="${{ steps.ctx.outputs.release_type }}"
299+
preid="${{ steps.ctx.outputs.preid }}"
266300
preid_arg=()
267-
if [[ "$release_type" == "prerelease" ]]; then
268-
preid_arg=(--preid "${{ steps.ctx.outputs.preid }}")
301+
if [[ -n "$preid" ]]; then
302+
preid_arg=(--preid "$preid")
269303
fi
270304
271-
npx nx release "$release_type" \
305+
npx nx release "${{ steps.ctx.outputs.specifier }}" \
272306
"${preid_arg[@]}" \
273307
"${projects_arg[@]}" \
274308
--skip-publish \
@@ -447,6 +481,7 @@ jobs:
447481
448482
echo "Nx Release completed."
449483
echo "- mode: ${mode}"
484+
echo "- specifier: '${{ steps.ctx.outputs.specifier }}'"
450485
echo "- release-type: '${{ steps.ctx.outputs.release_type }}'"
451486
echo "- preid: '${{ steps.ctx.outputs.preid }}'"
452487
echo "- dist-tag: ${{ steps.ctx.outputs.mode == 'tag' && steps.taginfo.outputs.dist_tag || steps.ctx.outputs.dist_tag }}"

‎nx.json‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,12 @@
125125
"release": {
126126
"projects": ["packages/*", "!packages/ui-mobile-base", "!packages/types-minimal", "!packages/winter-tc", "!packages/types", "!packages/types-ios", "!packages/types-android"],
127127
"projectsRelationship": "independent",
128+
"version": {
129+
"updateDependents": "never"
130+
},
128131
"changelog": {
129132
"workspaceChangelog": false,
133+
"automaticFromRef": true,
130134
"projectChangelogs": {
131135
"renderOptions": {
132136
"authors": true,

‎packages/vite/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@nativescript/vite",
3-
"version": "8.0.3",
3+
"version": "8.0.0",
44
"description": "Vite for NativeScript",
55
"main": "./index.js",
66
"module": "./index.js",

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL