Use correct package ranges in create recipes (#1214) #598
This file contains 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
# .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 |