Skip to content

ui-kit-ts - default #647

ui-kit-ts - default

ui-kit-ts - default #647

Workflow file for this run

name: ui-kit-ts - default
on:
push:
branches:
- "main"
release:
types: [created]
schedule:
- cron: "0 6 * * 1" # At 06:00 on Monday
workflow_dispatch: # to run from the Actions tab on GitHub
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 #checkout full history so we can get the latest tag
- uses: oven-sh/setup-bun@v2
# if i run the deployment of the github pages from the github web ui, without a release, then there is no github.event.release...
- name: get latest tag
id: get_latest_tag
run: |
LATEST_TAG=$(git tag --sort=-version:refname | head -n 1)
echo latest_tag=${LATEST_TAG} >> $GITHUB_OUTPUT
- name: Install
run: bun install
- name: Build Library
run: bun run build:lib
- name: Build Showcase
run: VITE_GH_RELEASE_TAG=${{ steps.get_latest_tag.outputs.latest_tag }} bun run build:sc
- name: Deploy Showcase to Github Pages
# run deploy either on release or ...
if: ${{ (github.event_name == 'workflow_dispatch' || github.event_name == 'release') }}
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: docs
folder: dist-showcase
single-commit: true
publish:
needs: build
if: ${{ github.event_name == 'release' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- name: Get release version
id: release
run: |
FULL_VERSION=${{ github.event.release.tag_name }}
SHORT_VERSION=${FULL_VERSION:1}
echo short_version=${SHORT_VERSION} >> $GITHUB_OUTPUT
- name: Configure Git user
run: |
git config user.email "[email protected]"
git config user.name "GitHub Actions"
- name: Update release version
run: npm version --no-git-tag-version ${{ steps.release.outputs.short_version }}
- name: Install Dependencies
run: npm install
- name: Build Release
run: npm run build:lib
- name: Publish to npmjs
run: npm publish --access public
env:
NPM_CONFIG_TOKEN: ${{secrets.NPM_PUBLISH_TOKEN}}