ui-kit-ts - default #478
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
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}} |