| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 47d6c31 commit 7e8f7f2
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -9,8 +9,13 @@ on: | |||
| 9 | 9 | - '*-*' | |
| 10 | 10 | workflow_dispatch: | |
| 11 | 11 | 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: "" | ||
| 12 | 17 | 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')" | ||
| 14 | 19 | required: false | |
| 15 | 20 | type: choice | |
| 16 | 21 | options: | |
@@ -20,7 +25,7 @@ on: | |||
| 20 | 25 | - major | |
| 21 | 26 | default: prerelease | |
| 22 | 27 | 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)" | ||
| 24 | 29 | required: false | |
| 25 | 30 | type: string | |
| 26 | 31 | default: next | |
@@ -89,30 +94,57 @@ jobs: | |||
| 89 | 94 | - name: Resolve release context | |
| 90 | 95 | id: ctx | |
| 91 | 96 | 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'] }} | ||
| 92 | 103 | run: | | |
| 93 | 104 | set -euo pipefail | |
| 94 | 105 | ||
| 95 | 106 | 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}" | ||
| 100 | 112 | mode="dispatch" | |
| 101 | 113 | ||
| 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 | ||
| 105 | 128 | 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 | ||
| 107 | 137 | fi | |
| 108 | 138 | elif [[ "${GITHUB_REF}" == refs/tags/* ]]; then | |
| 139 | + specifier="" | ||
| 109 | 140 | release_type="" | |
| 110 | 141 | preid="" | |
| 111 | 142 | dist_tag="" | |
| 112 | 143 | scope="" | |
| 113 | 144 | dry_run="false" | |
| 114 | 145 | mode="tag" | |
| 115 | 146 | else | |
| 147 | + specifier="prerelease" | ||
| 116 | 148 | release_type="prerelease" | |
| 117 | 149 | preid="next" | |
| 118 | 150 | dist_tag="next" | |
@@ -122,6 +154,7 @@ jobs: | |||
| 122 | 154 | fi | |
| 123 | 155 | ||
| 124 | 156 | echo "mode=${mode}" >> "$GITHUB_OUTPUT" | |
| 157 | + echo "specifier=${specifier}" >> "$GITHUB_OUTPUT" | ||
| 125 | 158 | echo "release_type=${release_type}" >> "$GITHUB_OUTPUT" | |
| 126 | 159 | echo "preid=${preid}" >> "$GITHUB_OUTPUT" | |
| 127 | 160 | echo "dist_tag=${dist_tag}" >> "$GITHUB_OUTPUT" | |
@@ -222,6 +255,7 @@ jobs: | |||
| 222 | 255 | # Orchestrated release: bumps versions, generates changelogs, commits + tags in one shot. | |
| 223 | 256 | # The orchestrator does not accept --git-* flags (config-driven only); push is handled in the next step. | |
| 224 | 257 | # --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). | ||
| 225 | 259 | - name: nx release version + changelog (dispatch) | |
| 226 | 260 | if: ${{ steps.ctx.outputs.mode == 'dispatch' && !inputs.dry-run }} | |
| 227 | 261 | shell: bash | |
@@ -234,13 +268,13 @@ jobs: | |||
| 234 | 268 | projects_arg=(--projects "$scope") | |
| 235 | 269 | fi | |
| 236 | 270 | ||
| 237 | - release_type="${{ steps.ctx.outputs.release_type }}" | ||
| 271 | + preid="${{ steps.ctx.outputs.preid }}" | ||
| 238 | 272 | 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") | ||
| 241 | 275 | fi | |
| 242 | 276 | ||
| 243 | - npx nx release "$release_type" \ | ||
| 277 | + npx nx release "${{ steps.ctx.outputs.specifier }}" \ | ||
| 244 | 278 | "${preid_arg[@]}" \ | |
| 245 | 279 | "${projects_arg[@]}" \ | |
| 246 | 280 | --skip-publish \ | |
@@ -262,13 +296,13 @@ jobs: | |||
| 262 | 296 | projects_arg=(--projects "$scope") | |
| 263 | 297 | fi | |
| 264 | 298 | ||
| 265 | - release_type="${{ steps.ctx.outputs.release_type }}" | ||
| 299 | + preid="${{ steps.ctx.outputs.preid }}" | ||
| 266 | 300 | 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") | ||
| 269 | 303 | fi | |
| 270 | 304 | ||
| 271 | - npx nx release "$release_type" \ | ||
| 305 | + npx nx release "${{ steps.ctx.outputs.specifier }}" \ | ||
| 272 | 306 | "${preid_arg[@]}" \ | |
| 273 | 307 | "${projects_arg[@]}" \ | |
| 274 | 308 | --skip-publish \ | |
@@ -447,6 +481,7 @@ jobs: | |||
| 447 | 481 | ||
| 448 | 482 | echo "Nx Release completed." | |
| 449 | 483 | echo "- mode: ${mode}" | |
| 484 | + echo "- specifier: '${{ steps.ctx.outputs.specifier }}'" | ||
| 450 | 485 | echo "- release-type: '${{ steps.ctx.outputs.release_type }}'" | |
| 451 | 486 | echo "- preid: '${{ steps.ctx.outputs.preid }}'" | |
| 452 | 487 | echo "- dist-tag: ${{ steps.ctx.outputs.mode == 'tag' && steps.taginfo.outputs.dist_tag || steps.ctx.outputs.dist_tag }}" | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -125,8 +125,12 @@ | |||
| 125 | 125 | "release": { | |
| 126 | 126 | "projects": ["packages/*", "!packages/ui-mobile-base", "!packages/types-minimal", "!packages/winter-tc", "!packages/types", "!packages/types-ios", "!packages/types-android"], | |
| 127 | 127 | "projectsRelationship": "independent", | |
| 128 | + "version": { | ||
| 129 | + "updateDependents": "never" | ||
| 130 | + }, | ||
| 128 | 131 | "changelog": { | |
| 129 | 132 | "workspaceChangelog": false, | |
| 133 | + "automaticFromRef": true, | ||
| 130 | 134 | "projectChangelogs": { | |
| 131 | 135 | "renderOptions": { | |
| 132 | 136 | "authors": true, | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,6 @@ | |||
| 1 | 1 | { | |
| 2 | 2 | "name": "@nativescript/vite", | |
| 3 | - "version": "8.0.3", | ||
| 3 | + "version": "8.0.0", | ||
| 4 | 4 | "description": "Vite for NativeScript", | |
| 5 | 5 | "main": "./index.js", | |
| 6 | 6 | "module": "./index.js", | |
| Back | FazBrowse Home | New Git URL |
0 commit comments