Skip to content

fix: default vibe workflows to unskilled (#15) #20

fix: default vibe workflows to unskilled (#15)

fix: default vibe workflows to unskilled (#15) #20

Workflow file for this run

name: Release and Publish
on:
push:
branches: [main]
permissions:
contents: write
packages: write
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: "22"
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Check formatting
run: pnpm run format:check:all
- name: Run linting
run: pnpm run lint:all
- name: Build project
run: pnpm run build
- name: Run tests
run: pnpm test
release:
needs: test
runs-on: ubuntu-latest
steps:
- name: Generate GitHub App Token
id: generate_token
uses: tibdex/github-app-token@v1
with:
app_id: ${{ vars.VERSION_BUMPER_APPID }}
private_key: ${{ secrets.VERSION_BUMPER_SECRET }}
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ steps.generate_token.outputs.token }}
- name: Setup pnpm
uses: pnpm/action-setup@v4
- name: Setup Node.js
uses: actions/setup-node@v5
with:
node-version: "22"
cache: "pnpm"
registry-url: "https://registry.npmjs.org"
- name: Install dependencies
run: pnpm install
- name: Build project
run: pnpm run build
- name: Bump version and create tag
id: version
uses: mathieudutour/github-tag-action@v6.2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
default_bump: patch
tag_prefix: v
- name: Update package.json version
if: steps.version.outputs.new_tag
run: |
NEW_VERSION=${{ steps.version.outputs.new_version }}
# Update root package.json
pnpm version $NEW_VERSION --no-git-tag-version
# Update all workspace package versions
pnpm -r exec pnpm version $NEW_VERSION --no-git-tag-version
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git add package.json packages/*/package.json pnpm-lock.yaml
git commit -m "chore: bump version to $NEW_VERSION [skip ci]" || exit 0
git push
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
- name: Create GitHub Release
if: steps.version.outputs.new_tag
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ steps.version.outputs.new_tag }}
name: Release ${{ steps.version.outputs.new_tag }}
body: ${{ steps.version.outputs.changelog }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Publish to npm
if: steps.version.outputs.new_tag
run: |
# Publish all packages in workspace
# pnpm -r publishes packages in topological order (dependencies first)
# Root package is private and will be skipped automatically
pnpm -r publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}