@@ -3,13 +3,6 @@ name: npm-publish
3
3
on :
4
4
release :
5
5
types : [published]
6
- push :
7
- paths :
8
- - " web/packages/api/**"
9
- - " web/packages/base-types/**"
10
- - " web/packages/registry/**"
11
- branches :
12
- - main
13
6
workflow_dispatch :
14
7
inputs :
15
8
version :
@@ -63,21 +56,25 @@ jobs:
63
56
64
57
- name : Determine new version
65
58
id : new_version
59
+ if : github.event_name != 'release'
66
60
run : |
67
- # Get the most recent tag in the format web- api-v <version>
68
- current_tag=$(git tag --list "web- api-v *" --sort=-v:refname | head -n 1)
61
+ # Get the most recent tag in the format @snowbridge/ api@ <version>
62
+ current_tag=$(git tag --list "@snowbridge/ api@ *" --sort=-v:refname | head -n 1)
69
63
echo "Current tag: $current_tag"
70
- current_version=$(echo $current_tag | sed -E 's/web- api-v //')
64
+ current_version=$(echo $current_tag | sed -E 's/@snowbridge\/ api@ //')
71
65
echo "Current version: $current_version"
72
66
67
+ # Install semver
68
+ npm install semver
69
+
73
70
if [ -n "${{ github.event.release.tag_name }}" ]; then
74
71
echo "Using version from release tag: ${{ github.event.release.tag_name }}"
75
72
new_version="${{ github.event.release.tag_name }}"
76
73
elif [ -n "${{ github.event.inputs.version }}" ]; then
77
74
echo "Using version from input: ${{ github.event.inputs.version }}"
78
75
new_version="${{ github.event.inputs.version }}"
79
76
elif [ -z "$current_version" ]; then
80
- new_version="1.0.0 "
77
+ new_version="0.2.1 "
81
78
else
82
79
echo "No release tag or input version provided, incrementing patch version."
83
80
new_version=$(npx semver $current_version -i patch)
@@ -89,27 +86,53 @@ jobs:
89
86
90
87
- name : Set version in package.json
91
88
working-directory : web
89
+ if : github.event_name != 'release'
92
90
run : |
93
91
/bin/bash set-version.sh ${{ steps.new_version.outputs.version }}
94
92
93
+ - name : Publish Base Types
94
+ working-directory : web/packages/base-types
95
+ run : |
96
+ pnpm publish --no-git-checks --access public
97
+
98
+ - name : Publish Contracts
99
+ working-directory : web/packages/contracts
100
+ run : |
101
+ pnpm publish --no-git-checks --access public
102
+
103
+ - name : Publish Contract Types
104
+ working-directory : web/packages/contract-types
105
+ run : |
106
+ pnpm publish --no-git-checks --access public
107
+
108
+ - name : Publish API
109
+ working-directory : web/packages/api
110
+ run : |
111
+ pnpm publish --no-git-checks --access public
112
+
113
+ - name : Publish Registry
114
+ working-directory : web/packages/registry
115
+ run : |
116
+ pnpm publish --no-git-checks --access public
117
+
95
118
- name : Create new tag
96
119
id : create_tag
97
- if : github.ref == 'refs/heads/main' && github. event_name != 'release'
120
+ if : github.event_name != 'release'
98
121
run : |
99
- tag_name="web- api-v ${{ steps.new_version.outputs.version }}"
122
+ tag_name="@snowbridge/ api@ ${{ steps.new_version.outputs.version }}"
100
123
echo "Tag name: $tag_name"
101
124
echo "tag=$tag_name" >> $GITHUB_OUTPUT
102
125
git tag $tag_name
103
126
104
127
- name : Push new tag
105
128
id : push_tag
106
- if : github.ref == 'refs/heads/main' && github. event_name != 'release'
129
+ if : github.event_name != 'release'
107
130
run : |
108
131
git push origin --tags
109
132
110
- - name : " Build Changelog"
133
+ - name : Build Changelog
111
134
id : build_changelog
112
- if : github.ref == 'refs/heads/main' && github. event_name != 'release'
135
+ if : github.event_name != 'release'
113
136
uses : mikepenz/release-changelog-builder-action@v4
114
137
with :
115
138
configurationJson : |
@@ -127,7 +150,7 @@ jobs:
127
150
128
151
- name : Create a GitHub Release
129
152
id : create_release
130
- if : github.ref == 'refs/heads/main' && github. event_name != 'release'
153
+ if : github.event_name != 'release'
131
154
uses : actions/create-release@v1
132
155
env :
133
156
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
@@ -138,28 +161,3 @@ jobs:
138
161
${{steps.build_changelog.outputs.changelog}}
139
162
draft : false
140
163
prerelease : false
141
-
142
- - name : Publish Base Types
143
- working-directory : web/packages/base-types
144
- run : |
145
- pnpm publish --no-git-checks --access public
146
-
147
- - name : Publish Contracts
148
- working-directory : web/packages/contracts
149
- run : |
150
- pnpm publish --no-git-checks --access public
151
-
152
- - name : Publish Contract Types
153
- working-directory : web/packages/contract-types
154
- run : |
155
- pnpm publish --no-git-checks --access public
156
-
157
- - name : Publish API
158
- working-directory : web/packages/api
159
- run : |
160
- pnpm publish --no-git-checks --access public
161
-
162
- - name : Publish Registry
163
- working-directory : web/packages/registry
164
- run : |
165
- pnpm publish --no-git-checks --access public
0 commit comments