Publish new version #677
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish new version | |
on: | |
push: | |
tags: | |
- v* | |
jobs: | |
publish-npm: | |
name: Publish on NPM package registry | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: 🔽 Checkout | |
uses: actions/checkout@v4 | |
- name: 🔽 Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
registry-url: https://registry.npmjs.org/ | |
- name: 🔽 Install dependencies | |
run: npm ci | |
- name: 🔽 Clone book submodule | |
run: git submodule update --init --recursive | |
- name: 🆚 Update version in Dockerfile | |
run: npx ts-node ./scripts/update-version-in-config/update-version-in-config.ts | |
- name: 🏭 Build packages bundles | |
run: npx ts-node ./scripts/generate-packages/generate-packages.ts | |
- name: 🔼 Publish @promptbook/anthropic-claude | |
working-directory: ./packages/anthropic-claude | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/azure-openai | |
working-directory: ./packages/azure-openai | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/browser | |
working-directory: ./packages/browser | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/cli | |
working-directory: ./packages/cli | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/core | |
working-directory: ./packages/core | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/deepseek | |
working-directory: ./packages/deepseek | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/documents | |
working-directory: ./packages/documents | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/editable | |
working-directory: ./packages/editable | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/javascript | |
working-directory: ./packages/javascript | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/fake-llm | |
working-directory: ./packages/fake-llm | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/google | |
working-directory: ./packages/google | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/legacy-documents | |
working-directory: ./packages/legacy-documents | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/markdown-utils | |
working-directory: ./packages/markdown-utils | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/markitdown | |
working-directory: ./packages/markitdown | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/node | |
working-directory: ./packages/node | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/openai | |
working-directory: ./packages/openai | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/pdf | |
working-directory: ./packages/pdf | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/remote-client | |
working-directory: ./packages/remote-client | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/remote-server | |
working-directory: ./packages/remote-server | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/templates | |
working-directory: ./packages/templates | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/types | |
working-directory: ./packages/types | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/utils | |
working-directory: ./packages/utils | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/vercel | |
working-directory: ./packages/vercel | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/website-crawler | |
working-directory: ./packages/website-crawler | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish @promptbook/wizzard | |
working-directory: ./packages/wizzard | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish promptbook | |
working-directory: ./packages/promptbook | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: 🔼 Publish ptbk | |
working-directory: ./packages/ptbk | |
run: npm publish --provenance --access public | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
publish-docker: | |
name: Publish Docker image to DockerHub | |
needs: publish-npm | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🔽 Checkout | |
uses: actions/checkout@v4 | |
- name: 🔑 Login to DockerHub | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKERHUB_USER }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: 🔽 Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
registry-url: https://registry.npmjs.org/ | |
- name: 🔽 Install dependencies | |
run: npm ci | |
- name: 🔽 Clone book submodule | |
run: git submodule update --init --recursive | |
- name: 🆚 Update version in Dockerfile | |
run: npx ts-node ./scripts/update-version-in-config/update-version-in-config.ts | |
- name: 🆚 Load current version into the environment | |
run: echo "VERSION=$(node -p 'require(`./package.json`).version')" >> | |
$GITHUB_ENV | |
- name: 👁🗨 Log version from previous step | |
run: echo $VERSION | |
- name: 👁🗨 Log contents of the Dockerfile | |
run: cat Dockerfile | |
- name: 🏭🔼 Build and Push Docker Image | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
push: true | |
tags: hejny/promptbook:${{ env.VERSION }} |