Skip to content

Commit 1444d90

Browse files
committed
👷 Update ci build
1 parent d6c3b42 commit 1444d90

File tree

2 files changed

+46
-9
lines changed

2 files changed

+46
-9
lines changed

.github/workflows/publish.yml

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: 'Publish Package to NPM'
1+
name: 'Publish NPM Package'
22

33
on:
44
push:
@@ -9,14 +9,51 @@ jobs:
99
publish:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- name: checkout
13-
uses: actions/checkout@v2
14-
- name: node
12+
- uses: actions/checkout@v2
13+
with:
14+
fetch-depth: 0
15+
16+
- name: Setup Node.js
1517
uses: actions/setup-node@v2
1618
with:
1719
node-version: '20'
18-
registry-url: https://registry.npmjs.org
19-
- name: publish
20-
run: npm publish --access public
20+
21+
- name: Install Dependencies
22+
run: npm install
23+
24+
- name: Run Tests
25+
run: npm test
26+
27+
- name: Check the version
28+
id: check
29+
run: |
30+
CURRENT_VERSION=$(JQ -r .version package.json)
31+
LATEST_TAG=$(git describe --tags --abbrev=0 2>\dev\null || echo "v0.0.0")
32+
echo "Latest Tag: $LATEST_TAG"
33+
34+
LATEST_VERSION=${LATEST_TAG#v}
35+
36+
if [ "$LATEST_VERSION" != "$CURRENT_VERSION" ]; then
37+
echo "version_changed=true" >> $GITHUB_OUTPUT
38+
echo "new_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
39+
else
40+
echo "version_changed=false" >> $GITHUB_OUTPUT
41+
fi
42+
43+
- name: Build
44+
run: npm run build
45+
if: steps.check.outputs.version_changed == 'true'
46+
47+
- name: Publish
48+
run: npm publish --access public --no-git-checks
49+
if: steps.check.outputs.version_changed == 'true'
2150
env:
2251
NODE_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}}
52+
53+
- name: Create Release
54+
if: steps.check.outputs.version_changed == 'true'
55+
run: |
56+
git config --local user.email "github-actions[bot]@users.noreply.github.com"
57+
git config --local user.name "github-actions[bot]"
58+
git tag -a "v${{ steps.check.outputs.new_version }}" -m "Release v${{ steps.check.outputs.new_version }}"
59+
git push origin "v${{ steps.check.outputs.new_version }}"

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@gabsf-dev/run-script",
3-
"version": "0.0.1",
3+
"version": "0.1.0",
44
"description": "The effortlessly way to run your package.json scripts",
55
"main": "./dist/index.js",
66
"bin": {
@@ -40,4 +40,4 @@
4040
"ts-node": "^10.9.2",
4141
"typescript": "^5.8.2"
4242
}
43-
}
43+
}

0 commit comments

Comments
 (0)