Skip to content

ui-kit-ts - default #478

ui-kit-ts - default

ui-kit-ts - default #478

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@v3
with:
fetch-depth: 0 #checkout full history so we can get the latest tag
- uses: actions/setup-node@v3
with:
node-version: "20.13.1"
# 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: npm install
run: npm install
- name: npm build library
run: npm run build:lib
- name: npm build showcase
run: VITE_GH_RELEASE_TAG=${{ steps.get_latest_tag.outputs.latest_tag }} npm 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/[email protected]
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@v3
- uses: actions/setup-node@v3
with:
node-version: "18.17.1"
registry-url: "https://registry.npmjs.org"
- 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:
NODE_AUTH_TOKEN: ${{secrets.NPM_PUBLISH_TOKEN}}