Skip to content

Update README and version to reflect OpenAI provider support (#10) #21

Update README and version to reflect OpenAI provider support (#10)

Update README and version to reflect OpenAI provider support (#10) #21

Workflow file for this run

name: Publish to NPM
on:
push:
branches:
- main
jobs:
check-version:
name: Check if version changed
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.check.outputs.changed }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check if version is already published
id: check
run: |
CURRENT_VERSION=$(node -p "require('./package.json').version")
PACKAGE_NAME=$(node -p "require('./package.json').name")
echo "package=$PACKAGE_NAME"
echo "version=$CURRENT_VERSION"
if npm view "${PACKAGE_NAME}@${CURRENT_VERSION}" version 2>/dev/null; then
echo "Version $CURRENT_VERSION already published"
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "Version $CURRENT_VERSION not yet published"
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
publish:
name: Publish package
runs-on: ubuntu-latest
needs: check-version
if: needs.check-version.outputs.changed == 'true'
permissions:
contents: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Upgrade npm for OIDC support
run: npm install -g npm@latest
- name: Setup Bun
uses: oven-sh/setup-bun@v1
with:
bun-version: latest
- name: Install dependencies
run: bun install
- name: Validate environment variables
env:
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
run: |
if [ -z "$GOOGLE_CLIENT_ID" ]; then
echo "Error: GOOGLE_CLIENT_ID secret is not set."
exit 1
fi
if [ -z "$GOOGLE_CLIENT_SECRET" ]; then
echo "Error: GOOGLE_CLIENT_SECRET secret is not set."
exit 1
fi
- name: Build project
env:
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
GOOGLE_CLIENT_SECRET: ${{ secrets.GOOGLE_CLIENT_SECRET }}
run: |
bun build ./index.ts --outdir ./dist --target bun --minify --sourcemap \
--define "process.env.GOOGLE_CLIENT_ID=\"$GOOGLE_CLIENT_ID\"" \
--define "process.env.GOOGLE_CLIENT_SECRET=\"$GOOGLE_CLIENT_SECRET\""
- name: Publish to NPM
run: |
unset NODE_AUTH_TOKEN
npm publish --access public --provenance