feat: add npm publish workflow (#29)

* feat: add npm publish workflow

Co-Authored-By: Han Xiao <han.xiao@jina.ai>

* feat: add CLI interface

Co-Authored-By: Han Xiao <han.xiao@jina.ai>

* fix: add moduleResolution and resolveJsonModule to tsconfig

Co-Authored-By: Han Xiao <han.xiao@jina.ai>

* feat: add OPENAI_API_KEY to workflow files

Co-Authored-By: Han Xiao <han.xiao@jina.ai>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Han Xiao <han.xiao@jina.ai>
This commit is contained in:
devin-ai-integration[bot]
2025-02-06 16:34:39 +08:00
committed by GitHub
parent aee5598f3e
commit 282de3f245
7 changed files with 164 additions and 3 deletions

40
.github/workflows/npm-publish.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: NPM Publish
on:
release:
types: [created]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Run lint and tests
env:
BRAVE_API_KEY: ${{ secrets.BRAVE_API_KEY }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
JINA_API_KEY: ${{ secrets.JINA_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: |
npm run lint
npm test
- name: Build TypeScript
run: npm run build
- name: Publish to npm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
run: npm publish --access public

View File

@@ -31,4 +31,5 @@ jobs:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
JINA_API_KEY: ${{ secrets.JINA_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GEMINI_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
run: npm test