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
{{ message }}
Repository navigation
Commit 8a0348f
Browse filesBrowse the repository at this point in the historyBrowse files
# Publishes the four engine variants — @nativescript/windows-{hermes,jsc,quickjs,v8} — to npm via
4
-
# OIDC trusted publishing. npm matches a trusted publisher on repository + workflow FILENAME +
5
-
# environment, so `npm_release.yml` and the `npm-publish` environment below are part of the
6
-
# credential: renaming either breaks publishing for all four packages.
3
+
# Publishes the classic runtime — @nativescript/windows — and the four engine variants —
4
+
# @nativescript/windows-{hermes,jsc,quickjs,v8} — to npm via OIDC trusted publishing. npm matches
5
+
# a trusted publisher on repository + workflow FILENAME + environment, so `npm_release.yml` and the
6
+
# `npm-publish` environment below are part of the credential: renaming either breaks publishing for
7
+
# all five packages, and every package needs its own trusted-publisher entry on npmjs.com.
7
8
#
8
9
# NOTE: `paths` filters deliberately do NOT accompany the tag trigger — a tag push can have an
9
10
# empty changed-file set, and paths+tags together silently skip the run.
10
11
on:
11
12
push:
12
13
tags:
13
-
- "v*"# -> all four variants at the tag's version
14
+
- "v*"# -> all five packages at the tag's version
14
15
workflow_dispatch:
15
16
inputs:
16
17
engine:
17
-
description: "Which variant to release"
18
+
description: "Which package to release"
18
19
type: choice
19
20
required: true
20
21
default: all
21
-
options: [all, hermes, jsc, quickjs, v8]
22
+
options: [all, classic, hermes, jsc, quickjs, v8]
22
23
version:
23
24
description: "Release version to cut, e.g. 0.1.0-alpha.2 (dist-tag follows the prerelease id; a plain version publishes 'latest'). Leave empty for a rolling 'next' build."
24
25
required: false
25
26
default: ""
26
27
rebuild_framework:
27
-
description: "Rebuild the shared framework (tools + dotnet-bridge) from source instead of shipping the copies committed under template/framework."
28
+
description: "Engine variants: rebuild the shared framework (tools + dotnet-bridge) from source instead of shipping the copies committed under template/framework. (The classic build always rebuilds it.)"
29
+
type: boolean
30
+
required: false
31
+
default: false
32
+
skip_arm64:
33
+
description: "Classic only: build x64-only, skipping the arm64 cross-compiles (the engine variants are x64-only regardless)."
28
34
type: boolean
29
35
required: false
30
36
default: false
@@ -33,16 +39,21 @@ on:
33
39
permissions:
34
40
contents: read
35
41
36
-
# A variant is the same framework as @nativescript/windows — the WinUI 3 app template,
37
-
# dotnet-bridge and tools — with the engine's runtime DLL staged as framework/libs/x64/
38
-
# nativescript.dll. `template/build.ps1 -Engine <engine>` copies that shared scaffolding out of
39
-
# template/framework and builds the engine cdylib into it, so a release is:
42
+
# Every package is the same framework — the WinUI 3 app template, dotnet-bridge and tools — with a
43
+
# runtime DLL staged as framework/libs/<arch>/nativescript.dll:
40
44
#
41
-
# setup (resolve version + engine matrix) -> build (one Windows job per engine, npm pack)
42
-
# -> publish (npm, OIDC)
45
+
# classic `template/build.ps1` builds the workspace `nativescript` cdylib (rusty_v8) for x64 and
46
+
# arm64, release and devtools, rebuilds the tools (dotnet-tool, nsbundle_pack, sbg,
47
+
# typings-generator, ManifestMerger, dotnet-typings-gen) and stages it all under
48
+
# template/framework. Published from template/ as @nativescript/windows.
49
+
# variant `template/build.ps1 -Engine <engine>` copies the shared scaffolding out of
50
+
# template/framework and builds the engine cdylib into packages/windows-<engine>/framework
51
+
# as framework/libs/x64/nativescript.dll (x64 only, no devtools).
43
52
#
44
-
# Everything the shared framework needs is committed under template/framework, so the default build
45
-
# only compiles the engine. `rebuild_framework` regenerates that scaffolding from source instead.
53
+
# A release is: setup (resolve version + package matrix) -> build (one Windows job per package,
54
+
# npm pack) -> publish (npm, OIDC). Everything the variants need is committed under
55
+
# template/framework, so a variant build only compiles the engine; `rebuild_framework` regenerates
56
+
# that scaffolding from source instead.
46
57
jobs:
47
58
setup:
48
59
name: Resolve version
@@ -66,25 +77,32 @@ jobs:
66
77
# a cache-poisoning vector, worst in the jobs that publish. Disabled on every setup-node
67
78
# step in this workflow (also keeps pre-v6 behavior).
68
79
package-manager-cache: false
69
-
- name: Compute version, dist-tag and engine matrix
80
+
- name: Compute version, dist-tag and package matrix
70
81
id: out
71
82
env:
72
83
# env indirection keeps the dispatch inputs out of shell interpolation
0 commit comments