Skip to content

Commit 371ad8d

Browse files
committed
feat: improved README and added CI workflow
1 parent 846e7a7 commit 371ad8d

File tree

2 files changed

+214
-188
lines changed

2 files changed

+214
-188
lines changed

.github/workflows/publish.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Publish to NPM
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
publish:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v4
14+
15+
- name: Install pnpm
16+
uses: pnpm/action-setup@v4
17+
with:
18+
version: 10
19+
20+
- name: Install Node.js
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: 20
24+
cache: "pnpm"
25+
registry-url: "https://registry.npmjs.org"
26+
27+
- name: Install dependencies
28+
run: pnpm install --frozen-lockfile
29+
30+
- name: Bump version
31+
id: version_bump
32+
run: |
33+
PACKAGE_NAME=$(node -p "require('./package.json').name")
34+
CURRENT_VERSION=$(node -p "require('./package.json').version")
35+
NPM_VERSION=$(npm view $PACKAGE_NAME version 2>/dev/null || echo "0.0.0")
36+
37+
pnpm add semver
38+
IS_CURRENT_GREATER=$(node -e "console.log(require('semver').gt('$CURRENT_VERSION', '$NPM_VERSION'))")
39+
40+
if [ "$IS_CURRENT_GREATER" = "true" ]; then
41+
echo "Version in package.json ($CURRENT_VERSION) is greater than npm version ($NPM_VERSION). No bump needed."
42+
echo "new_version=$CURRENT_VERSION" >> $GITHUB_OUTPUT
43+
echo "version_changed=false" >> $GITHUB_OUTPUT
44+
else
45+
echo "Bumping version..."
46+
pnpm version prerelease --preid alpha --no-git-tag-version
47+
NEW_VERSION=$(node -p "require('./package.json').version")
48+
echo "New version: $NEW_VERSION"
49+
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
50+
echo "version_changed=true" >> $GITHUB_OUTPUT
51+
fi
52+
env:
53+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
54+
55+
- name: Build
56+
run: pnpm run build
57+
58+
- name: Create a .env file and .env.test file
59+
run: |
60+
echo "NILLION_API_KEY=${{ secrets.NILLION_API_KEY }}" > .env
61+
echo "NILLION_API_KEY=${{ secrets.NILLION_API_KEY }}" > .env.test
62+
63+
- name: Test
64+
run: pnpm run test
65+
66+
- name: Publish to NPM
67+
run: pnpm publish --no-git-checks
68+
env:
69+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

0 commit comments

Comments
 (0)