@@ -10,7 +10,25 @@ permissions:
1010 packages : write
1111
1212jobs :
13+ update-version :
14+ runs-on : ubuntu-latest
15+ outputs :
16+ version : ${{ steps.get_version.outputs.version }}
17+ steps :
18+ - name : Checkout
19+ uses : actions/checkout@v3
20+ with :
21+ fetch-depth : 0
22+
23+ - name : Get version from tag
24+ id : get_version
25+ run : |
26+ VERSION=${GITHUB_REF#refs/tags/v}
27+ echo "version=$VERSION" >> $GITHUB_OUTPUT
28+ echo "Version: $VERSION"
29+
1330 goreleaser :
31+ needs : update-version
1432 runs-on : ubuntu-latest
1533 steps :
1634 - name : Checkout
2442 go-version : ' >=1.22.0'
2543 cache : true
2644
45+ - name : Update version in main.go
46+ run : |
47+ VERSION=${{ needs.update-version.outputs.version }}
48+ BUILD_DATE=$(date +%Y-%m-%d)
49+ sed -i "s/Version = \".*\"/Version = \"$VERSION\"/" main.go
50+ sed -i "s/BuildDate = \".*\"/BuildDate = \"$BUILD_DATE\"/" main.go
51+
2752 - name : Run GoReleaser
2853 uses : goreleaser/goreleaser-action@v4
2954 with :
3358 env :
3459 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3560 TAP_GITHUB_TOKEN : ${{ secrets.TAP_GITHUB_TOKEN }}
61+
62+ npm-publish :
63+ needs : [update-version, goreleaser]
64+ runs-on : ubuntu-latest
65+ steps :
66+ - name : Checkout
67+ uses : actions/checkout@v3
68+
69+ - name : Setup Node.js
70+ uses : actions/setup-node@v3
71+ with :
72+ node-version : ' 18'
73+ registry-url : ' https://registry.npmjs.org'
74+
75+ - name : Update package.json version
76+ run : |
77+ VERSION=${{ needs.update-version.outputs.version }}
78+ npm version $VERSION --no-git-tag-version
79+
80+ - name : Install dependencies
81+ run : npm ci || npm install
82+
83+ - name : Publish to NPM
84+ run : npm publish
85+ env :
86+ NODE_AUTH_TOKEN : ${{ secrets.NPM_TOKEN }}
0 commit comments