Skip to content

Use correct package ranges in create recipes (#1214) #598

Use correct package ranges in create recipes (#1214)

Use correct package ranges in create recipes (#1214) #598

Workflow file for this run

# .github/release.yml
name: release
on:
push:
branches:
- master
jobs:
build_and_publish:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: true
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install deps
run: yarn
# gel
- name: Copy readme
run: cp README.md packages/gel/README.md
- name: Build gel
run: yarn workspace gel run build
- id: check_publish_gel
name: Dry-run publish 'gel' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/gel/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If 'gel' version unchanged
if: steps.check_publish_gel.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace gel version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/gel/package.json').version")
yarn workspace gel version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_gel
working-directory: packages/gel
run: |
# Get the version from package.json using npm-pkg CLI.
# This handles running npm-pkg inside monorepo.
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
# Check if there's a prerelease tag (a '-' in the version)
if echo "$VERSION" | grep -q '-'; then
# Extract prerelease identifier: any characters after the '-' up to the first '.'
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
# Set the tag output for use in later steps.
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish 'gel'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/gel/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_gel.outputs.tag }}
- name: Create 'gel' GitHub Release
if: steps.check_publish_gel.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ steps.check_publish_gel.outputs.version }}
name: gel-js v${{ steps.check_publish_gel.outputs.version }}
draft: true
prerelease: false
# @gel/generate
- name: Build @gel/generate
run: yarn workspace @gel/generate run build
- id: check_publish_generate
name: Dry-run publish '@gel/generate' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/generate/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/generate' version unchanged
if: steps.check_publish_generate.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/generate version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/generate/package.json').version")
yarn workspace @gel/generate version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_generate
working-directory: packages/generate
run: |
# Get the version from package.json using npm-pkg CLI.
# This handles running npm-pkg inside monorepo.
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
# Check if there's a prerelease tag (a '-' in the version)
if echo "$VERSION" | grep -q '-'; then
# Extract prerelease identifier: any characters after the '-' up to the first '.'
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
# Set the tag output for use in later steps.
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/generate'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/generate/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_generate.outputs.tag }}
- name: Create '@gel/generate' GitHub Release
if: steps.check_publish_generate.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: generate-v${{ steps.check_publish_generate.outputs.version }}
name: "@gel/generate v${{ steps.check_publish_generate.outputs.version }}"
draft: true
prerelease: false
# @gel/auth-core
- name: Build @gel/auth-core
run: yarn workspace @gel/auth-core run build
- id: check_publish_auth_core
name: Dry-run publish '@gel/auth-core' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-core/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/auth-core' version unchanged
if: steps.check_publish_auth_core.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/auth-core version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/auth-core/package.json').version")
yarn workspace @gel/auth-core version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_auth_core
working-directory: packages/auth-core
run: |
# Get the version from package.json using npm-pkg CLI.
# This handles running npm-pkg inside monorepo.
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
# Check if there's a prerelease tag (a '-' in the version)
if echo "$VERSION" | grep -q '-'; then
# Extract prerelease identifier: any characters after the '-' up to the first '.'
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
# Set the tag output for use in later steps.
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/auth-core'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-core/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_auth_core.outputs.tag }}
- name: Create '@gel/auth-core' Release
if: steps.check_publish_auth_core.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: auth-core-v${{ steps.check_publish_auth_core.outputs.version }}
name: "@gel/auth-core v${{ steps.check_publish_auth_core.outputs.version }}"
draft: true
prerelease: false
# @gel/auth-nextjs
- name: Build @gel/auth-nextjs
run: yarn workspace @gel/auth-nextjs run build
- id: check_publish_auth_nextjs
name: Dry-run publish '@gel/auth-nextjs' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-nextjs/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/auth-nextjs' version unchanged
if: steps.check_publish_auth_nextjs.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/auth-nextjs version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/auth-nextjs/package.json').version")
yarn workspace @gel/auth-nextjs version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_auth_nextjs
working-directory: packages/auth-nextjs
run: |
# Get the version from package.json using npm-pkg CLI.
# This handles running npm-pkg inside monorepo.
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
# Check if there's a prerelease tag (a '-' in the version)
if echo "$VERSION" | grep -q '-'; then
# Extract prerelease identifier: any characters after the '-' up to the first '.'
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
# Set the tag output for use in later steps.
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/auth-nextjs'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-nextjs/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_auth_nextjs.outputs.tag }}
- name: Create '@gel/auth-nextjs' Release
if: steps.check_publish_auth_nextjs.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: auth-nextjs-v${{ steps.check_publish_auth_nextjs.outputs.version }}
name: "@gel/auth-nextjs v${{ steps.check_publish_auth_nextjs.outputs.version }}"
draft: true
prerelease: false
# @gel/auth-express
- name: Build @gel/auth-express
run: yarn workspace @gel/auth-express run build
- id: check_publish_auth_express
name: Dry-run publish '@gel/auth-express' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-express/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/auth-express' version unchanged
if: steps.check_publish_auth_express.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/auth-express version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/auth-express/package.json').version")
yarn workspace @gel/auth-express version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_auth_express
working-directory: packages/auth-express
run: |
# Get the version from package.json using npm-pkg CLI.
# This handles running npm-pkg inside monorepo.
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
# Check if there's a prerelease tag (a '-' in the version)
if echo "$VERSION" | grep -q '-'; then
# Extract prerelease identifier: any characters after the '-' up to the first '.'
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
# Set the tag output for use in later steps.
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/auth-express'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-express/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_auth_express.outputs.tag }}
- name: Create '@gel/auth-express' Release
if: steps.check_publish_auth_express.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: auth-express-v${{ steps.check_publish_auth_express.outputs.version }}
name: "@gel/auth-express v${{ steps.check_publish_auth_express.outputs.version }}"
draft: true
prerelease: false
# @gel/auth-remix
- name: Build @gel/auth-remix
run: yarn workspace @gel/auth-remix run build
- id: check_publish_auth_remix
name: Dry-run publish '@gel/auth-remix' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-remix/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/auth-remix' version unchanged
if: steps.check_publish_auth_remix.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/auth-remix version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/auth-remix/package.json').version")
yarn workspace @gel/auth-remix version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_auth_remix
working-directory: packages/auth-remix
run: |
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
if echo "$VERSION" | grep -q '-'; then
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/auth-remix'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-remix/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_auth_remix.outputs.tag }}
- name: Create '@gel/auth-remix' Release
if: steps.check_publish_auth_remix.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: auth-remix-v${{ steps.check_publish_auth_remix.outputs.version }}
name: "@gel/auth-remix v${{ steps.check_publish_auth_remix.outputs.version }}"
draft: true
prerelease: false
# @gel/auth-sveltekit
- name: Build @gel/auth-sveltekit
run: yarn workspace @gel/auth-sveltekit run build
- id: check_publish_auth_sveltekit
name: Dry-run publish '@gel/auth-sveltekit' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-sveltekit/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/auth-sveltekit' version unchanged
if: steps.check_publish_auth_sveltekit.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/auth-sveltekit version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/auth-sveltekit/package.json').version")
yarn workspace @gel/auth-sveltekit version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_auth_sveltekit
working-directory: packages/auth-sveltekit
run: |
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
if echo "$VERSION" | grep -q '-'; then
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/auth-sveltekit'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/auth-sveltekit/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_auth_sveltekit.outputs.tag }}
- name: Create '@gel/auth-sveltekit' Release
if: steps.check_publish_auth_sveltekit.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: auth-sveltekit-v${{ steps.check_publish_auth_sveltekit.outputs.version }}
name: "@gel/auth-sveltekit v${{ steps.check_publish_auth_sveltekit.outputs.version }}"
draft: true
prerelease: false
# @gel/create
- name: Build @gel/create
run: yarn workspace @gel/create run build
- id: check_publish_create
name: Dry-run publish '@gel/create' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/create/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/create' version unchanged
if: steps.check_publish_create.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/create version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/create/package.json').version")
yarn workspace @gel/create version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_create
working-directory: packages/create
run: |
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
if echo "$VERSION" | grep -q '-'; then
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/create'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/create/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_create.outputs.tag }}
- name: Create '@gel/create' Release
if: steps.check_publish_create.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: create-v${{ steps.check_publish_create.outputs.version }}
name: "@gel/create v${{ steps.check_publish_create.outputs.version }}"
draft: true
prerelease: false
# @gel/ai
- name: Build @gel/ai
run: yarn workspace @gel/ai run build
- id: check_publish_ai
name: Dry-run publish '@gel/ai' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/ai/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/ai' version unchanged
if: steps.check_publish_ai.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/ai version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/ai/package.json').version")
yarn workspace @gel/ai version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_ai
working-directory: packages/ai
run: |
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
if echo "$VERSION" | grep -q '-'; then
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/ai'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/ai/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_ai.outputs.tag }}
- name: Create '@gel/ai' Release
if: steps.check_publish_ai.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ai-v${{ steps.check_publish_ai.outputs.version }}
name: "@gel/ai v${{ steps.check_publish_ai.outputs.version }}"
draft: true
prerelease: false
# @gel/vercel-ai-provider
- name: Build @gel/vercel-ai-provider
run: yarn workspace @gel/vercel-ai-provider run build
- id: check_publish_vercel-ai-provider
name: Dry-run publish '@gel/vercel-ai-provider' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/vercel-ai-provider/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/vercel-ai-provider' version unchanged
if: steps.check_publish_vercel-ai-provider.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/vercel-ai-provider version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/vercel-ai-provider/package.json').version")
yarn workspace @gel/vercel-ai-provider version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_vercel_ai_provider
working-directory: packages/vercel-ai-provider
run: |
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
if echo "$VERSION" | grep -q '-'; then
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/vercel-ai-provider'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/vercel-ai-provider/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_vercel_ai_provider.outputs.tag }}
- name: Create '@gel/vercel-ai-provider' Release
if: steps.check_publish_vercel-ai-provider.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: vercel-ai-provider-v${{ steps.check_publish_vercel-ai-provider.outputs.version }}
name: "@gel/vercel-ai-provider v${{ steps.check_publish_vercel-ai-provider.outputs.version }}"
draft: true
prerelease: false
# @gel/codemod
- name: Build @gel/codemod
run: yarn workspace @gel/codemod run build
- id: check_publish_codemod
name: Dry-run publish '@gel/codemod' to npm
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/codemod/package.json
token: ${{ secrets.NPM_TOKEN }}
dry-run: true
- name: If '@gel/codemod' version unchanged
if: steps.check_publish_codemod.outputs.type == ''
run: |
echo "Version in package.json has not changed. Creating canary release."
yarn workspace @gel/codemod version --no-git-tag-version --minor
CURRENT_VERSION=$(node -p "require('./packages/codemod/package.json').version")
yarn workspace @gel/codemod version --no-git-tag-version --new-version "${CURRENT_VERSION}-canary.$(date +'%Y%m%dT%H%M%S')"
- name: Extract prerelease tag from version
id: get_tag_codemod
working-directory: packages/codemod
run: |
VERSION=$(npm pkg get version --json | jq -r 'to_entries[0].value')
echo "Version is: $VERSION"
if echo "$VERSION" | grep -q '-'; then
TAG=$(echo "$VERSION" | sed -E 's/.*-([^\.]+).*/\1/')
echo "Found prerelease tag: $TAG"
else
TAG="latest"
echo "No prerelease tag found; defaulting to '$TAG'"
fi
echo "tag=${TAG}" >> $GITHUB_OUTPUT
- name: Publish '@gel/codemod'
uses: JS-DevTools/npm-publish@4b07b26a2f6e0a51846e1870223e545bae91c552
with:
package: packages/codemod/package.json
token: ${{ secrets.NPM_TOKEN }}
access: public
tag: ${{ steps.get_tag_codemod.outputs.tag }}
- name: Create '@gel/codemod' Release
if: steps.check_publish_codemod.outputs.type != ''
uses: softprops/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: codemod-v${{ steps.check_publish_codemod.outputs.version }}
name: "@gel/codemod v${{ steps.check_publish_codemod.outputs.version }}"
draft: true
prerelease: false