Skip to content

Merge pull request #24 from prisma/add-temporary-token-check #45

Merge pull request #24 from prisma/add-temporary-token-check

Merge pull request #24 from prisma/add-temporary-token-check #45

Workflow file for this run

name: Release CLIs
on:
workflow_dispatch:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
env:
WORKSPACES: create-db create-pg create-postgres
jobs:
release:
name: πŸš€ Release CLIs
runs-on: ubuntu-latest
steps:
- name: πŸ›ŽοΈ Checkout Repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: 🀐 Disable Husky
run: echo "HUSKY=0" >> $GITHUB_ENV
- name: πŸ“¦ Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8
- name: πŸ”§ Install dependencies
run: pnpm install
- name: ❌ Disable pnpm git-checks
run: pnpm config set git-checks false
- name: πŸ”‘ Configure npm auth
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.CREATE_DB_TOKEN_NPM }}" > ~/.npmrc
# Publish each CLI package using the version in package.json
- name: πŸš€ Publish Each CLI Package
run: |
echo "Using CREATE_DB_WORKER_URL=${CREATE_DB_WORKER_URL}"
echo "Using CLAIM_DB_WORKER_URL=${CLAIM_DB_WORKER_URL}"
for pkg in $WORKSPACES; do
echo "Publishing $pkg to npm..."
cd "$pkg"
# pnpm publish --access public || echo "Publish failed for $pkg"
# First try to publish
if ! pnpm publish --access public; then
echo "Publish failed, trying to bump version and retry..."
npm version patch --no-git-tag-version
pnpm publish --access public || echo "Publish failed again for $pkg"
fi
cd - >/dev/null
done
env:
NODE_AUTH_TOKEN: ${{ secrets.CREATE_DB_TOKEN_NPM }}
CREATE_DB_WORKER_URL: ${{ secrets.CREATE_DB_WORKER_URL }}
CLAIM_DB_WORKER_URL: ${{ secrets.CLAIM_DB_WORKER_URL }}
- name: 🧹 Cleanup npm auth
run: rm -f ~/.npmrc
# Create a default changeset if none exist
- name: πŸ“ Ensure Changeset Exists
run: |
if [ -z "$(ls -A .changeset 2>/dev/null)" ]; then
echo "No changeset found. Creating a default one..."
pnpm changeset add --empty --message "chore(release): auto-generated changeset"
fi
# Finally, create a PR for version bump + changelogs
- name: πŸ“ Prepare Changesets PR
id: changesets
uses: changesets/action@v1
with:
version: pnpm changeset version
commit: "chore(release): version packages"
title: "chore(release): version packages"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}