Skip to content

Release

Release #32

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
version:
description: Release type
required: false
type: choice
default: patch
options:
- major
- minor
- patch
- premajor
- preminor
- prepatch
- prerelease
preid:
description: Pre-id
required: false
type: choice
options:
- ''
- dev
- alpha
- beta
- rc
jobs:
audit:
name: Audit
uses: ./.github/workflows/audit.yml
biome:
name: Format, Lint & Organize Import
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npx @biomejs/biome ci --reporter github
shell: bash
test:
needs:
- audit
- biome
runs-on: ubuntu-latest
strategy:
matrix:
node-version:
- 20.x
- 22.x
steps:
- uses: actions/checkout@v4
- name: Test - Core
uses: ./.github/workflows/actions/test
with:
package: core
node-version: ${{ matrix.node-version }}
build-core:
name: Build - Core
needs:
- test
uses: ./.github/workflows/build-core.yml
build-vue:
name: Build - Vue
needs:
- test
uses: ./.github/workflows/build-vue.yml
publish:
needs:
- build-core
- build-vue
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Git
run: |
git config user.name "Cheese Grinder CI"
git config user.email "<>"
- uses: actions/setup-node@v4
with:
node-version: 22.x
registry-url: https://registry.npmjs.org/
- name: Bump version
id: bump
uses: ./.github/workflows/actions/bump
with:
version: ${{ inputs.version }}
preid: ${{ inputs.preid }}
- name: Publish Core
run: |
npm run build -w @poppy-ui/core
npm publish -w @poppy-ui/core
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Publish Docs
run: |
npm publish
working-directory: packages/docs
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Upgrade - Vue
run: |
npm uninstall @poppy-ui/core -w @poppy-ui/vue
npm uninstall @poppy-ui/docs -w @poppy-ui/vue
npm install @poppy-ui/core@${{ steps.bump.outputs.version }} -w @poppy-ui/vue
npm install -D @poppy-ui/docs@${{ steps.bump.outputs.version }} -w @poppy-ui/vue
- name: Publish Vue
run: |
npm run build
npm publish
working-directory: packages/vue
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# Push only if the package as been published on registry
- name: Commit & Tag
run: |
git add .
git commit -m 'ci(version): bump to ${{ steps.bump.outputs.version }}'
git push
git tag ${{ steps.bump.outputs.version }}
git push origin tag ${{ steps.bump.outputs.version }}