Merge pull request #16 from prisma/patch-10 #38
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: | |
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 | |
# Copy README files before any version bump or publish | |
- name: π Copy README to child CLIs | |
run: | | |
for pkg in create-pg create-postgres; do | |
cp create-db/README.md "$pkg/README.md" | |
done | |
# Configure npm for publishing | |
- name: π Configure npm auth | |
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.CREATE_DB_TOKEN_NPM }}" > ~/.npmrc | |
# Generate version updates with changesets (PR created if branch protected) | |
- name: π Changesets Versioning | |
uses: changesets/action@v1 | |
with: | |
version: pnpm changeset version | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# Publish packages to npm if changesets are applied | |
- name: π Publish Each CLI Package | |
if: steps.changesets.outputs.hasChangesets == 'false' | |
run: | | |
# Export secrets for CLI usage | |
export CREATE_DB_WORKER_URL="${{ secrets.CREATE_DB_WORKER_URL }}" | |
export CLAIM_DB_WORKER_URL="${{ secrets.CLAIM_DB_WORKER_URL }}" | |
echo "Using CREATE_DB_WORKER_URL=$CREATE_DB_WORKER_URL" | |
echo "Using CLAIM_DB_WORKER_URL=$CLAIM_DB_WORKER_URL" | |
# Publish each package | |
for pkg in $WORKSPACES; do | |
echo "Publishing $pkg to npm..." | |
cd "$pkg" | |
# Stable patch bump | |
npm version patch --no-git-tag-version | |
# Publish to npm | |
pnpm publish --access public | |
cd - >/dev/null | |
done | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.CREATE_DB_TOKEN_NPM }} | |
- name: π§Ή Cleanup npm auth | |
run: rm -f ~/.npmrc |