Merge pull request #24 from prisma/add-temporary-token-check #45
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: 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 }} |