3
3
release :
4
4
types : [created]
5
5
workflow_dispatch :
6
+
6
7
jobs :
7
8
build :
8
9
runs-on : ubuntu-latest
9
10
steps :
10
11
- name : Checkout
11
12
uses : actions/checkout@v4
13
+
12
14
- name : Setup Node
13
15
uses : actions/setup-node@v4
14
16
with :
15
17
node-version : ' 20'
16
18
registry-url : ' https://registry.npmjs.org'
19
+
17
20
- name : Install dependencies and build
18
21
run : |
19
22
npm i --package-lock-only
20
23
npm ci
21
24
npm run build --if-present
25
+
26
+ - name : Print GITHUB_REF for debugging
27
+ run : echo "GITHUB_REF is ${GITHUB_REF}"
28
+
29
+ - name : Determine publish command
30
+ id : publish_command
31
+ run : |
32
+ if [[ "${GITHUB_REF}" =~ ^refs/tags/[0-9]+\.[0-9]+\.[0-9]+-rc ]]; then
33
+ echo "::set-output name=command::npm publish --tag rc"
34
+ elif [[ "${GITHUB_REF}" =~ ^refs/tags/[0-9]+\.[0-9]+\.[0-9] ]]; then
35
+ echo "::set-output name=command::npm publish"
36
+ else
37
+ echo "Branch or tag not supported for publishing"
38
+ exit 1
39
+ fi
40
+
41
+ - name : Check for changes in core package
42
+ id : core_changes
43
+ working-directory : ./packages/core
44
+ run : |
45
+ if git diff --quiet HEAD^ HEAD .; then
46
+ echo "No changes in core package"
47
+ echo "::set-output name=changed::false"
48
+ else
49
+ echo "Changes detected in core package"
50
+ echo "::set-output name=changed::true"
51
+ fi
52
+
22
53
- name : Publish core package on NPM.js
54
+ if : steps.core_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
23
55
working-directory : ./packages/core
24
- run : npm publish
56
+ run : ${{ steps.publish_command.outputs.command }}
25
57
env :
26
58
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
59
+
60
+ - name : Check for changes in core-plugin package
61
+ id : core_plugin_changes
62
+ working-directory : ./packages/core-plugin
63
+ run : |
64
+ if git diff --quiet HEAD^ HEAD .; then
65
+ echo "No changes in core-plugin package"
66
+ echo "::set-output name=changed::false"
67
+ else
68
+ echo "Changes detected in core-plugin package"
69
+ echo "::set-output name=changed::true"
70
+ fi
71
+
27
72
- name : Publish core-plugin package on NPM.js
73
+ if : steps.core_plugin_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
28
74
working-directory : ./packages/core-plugin
29
- run : npm publish
75
+ run : ${{ steps.publish_command.outputs.command }}
30
76
env :
31
77
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
78
+
79
+ - name : Check for changes in element-controller package
80
+ id : element_controller_changes
81
+ working-directory : ./packages/element-controller
82
+ run : |
83
+ if git diff --quiet HEAD^ HEAD .; then
84
+ echo "No changes in element-controller package"
85
+ echo "::set-output name=changed::false"
86
+ else
87
+ echo "Changes detected in element-controller package"
88
+ echo "::set-output name=changed::true"
89
+ fi
90
+
32
91
- name : Publish element-controller package on NPM.js
92
+ if : steps.element_controller_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
33
93
working-directory : ./packages/element-controller
34
- run : npm publish
94
+ run : ${{ steps.publish_command.outputs.command }}
35
95
env :
36
96
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
97
+
98
+ - name : Check for changes in page-controller package
99
+ id : page_controller_changes
100
+ working-directory : ./packages/page-controller
101
+ run : |
102
+ if git diff --quiet HEAD^ HEAD .; then
103
+ echo "No changes in page-controller package"
104
+ echo "::set-output name=changed::false"
105
+ else
106
+ echo "Changes detected in page-controller package"
107
+ echo "::set-output name=changed::true"
108
+ fi
109
+
37
110
- name : Publish page-controller package on NPM.js
111
+ if : steps.page_controller_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
38
112
working-directory : ./packages/page-controller
39
- run : npm publish
113
+ run : ${{ steps.publish_command.outputs.command }}
40
114
env :
41
115
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
116
+
117
+ - name : Check for changes in page-mixin package
118
+ id : page_mixin_changes
119
+ working-directory : ./packages/page-mixin
120
+ run : |
121
+ if git diff --quiet HEAD^ HEAD .; then
122
+ echo "No changes in page-mixin package"
123
+ echo "::set-output name=changed::false"
124
+ else
125
+ echo "Changes detected in page-mixin package"
126
+ echo "::set-output name=changed::true"
127
+ fi
128
+
42
129
- name : Publish page-mixin package on NPM.js
130
+ if : steps.page_mixin_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
43
131
working-directory : ./packages/page-mixin
44
- run : npm publish
132
+ run : ${{ steps.publish_command.outputs.command }}
45
133
env :
46
134
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
135
+
136
+ - name : Check for changes in page-transitions package
137
+ id : page_transitions_changes
138
+ working-directory : ./packages/page-transitions
139
+ run : |
140
+ if git diff --quiet HEAD^ HEAD .; then
141
+ echo "No changes in page-transitions package"
142
+ echo "::set-output name=changed::false"
143
+ else
144
+ echo "Changes detected in page-transitions package"
145
+ echo "::set-output name=changed::true"
146
+ fi
147
+
47
148
- name : Publish page-transitions package on NPM.js
149
+ if : steps.page_transitions_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
48
150
working-directory : ./packages/page-transitions
49
- run : npm publish
151
+ run : ${{ steps.publish_command.outputs.command }}
50
152
env :
51
153
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
154
+
155
+ - name : Check for changes in localize package
156
+ id : localize_changes
157
+ working-directory : ./packages/localize
158
+ run : |
159
+ if git diff --quiet HEAD^ HEAD .; then
160
+ echo "No changes in localize package"
161
+ echo "::set-output name=changed::false"
162
+ else
163
+ echo "Changes detected in localize package"
164
+ echo "::set-output name=changed::true"
165
+ fi
166
+
52
167
- name : Publish localize package on NPM.js
168
+ if : steps.localize_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
53
169
working-directory : ./packages/localize
54
- run : npm publish
170
+ run : ${{ steps.publish_command.outputs.command }}
55
171
env :
56
172
NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
173
+
174
+ - name : Check for changes in create-app package
175
+ id : create_app_changes
176
+ working-directory : ./packages/create-app
177
+ run : |
178
+ if git diff --quiet HEAD^ HEAD .; then
179
+ echo "No changes in create-app package"
180
+ echo "::set-output name=changed::false"
181
+ else
182
+ echo "Changes detected in create-app package"
183
+ echo "::set-output name=changed::true"
184
+ fi
185
+
57
186
- name : Publish create-app package on NPM.js
187
+ if : steps.create_app_changes.outputs.changed == 'true' && steps.publish_command.outputs.command != ''
58
188
working-directory : ./packages/create-app
59
- run : npm publish
189
+ run : ${{ steps.publish_command.outputs.command }}
60
190
env :
61
- NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
191
+ NODE_AUTH_TOKEN : ${{ secrets.NPM_PUBLISH_TOKEN }}
0 commit comments