Skip to content

CDS Tag Publish

CDS Tag Publish #13

name: CDS Tag Publish
on:
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v2
with:
node-version: '18'
- uses: pnpm/action-setup@v3
with:
version: 8
- uses: actions/cache@v3
id: pnpm-cache
with:
path: node_modules
key: ${{ runner.os }}-pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-
- if: steps.pnpm-cache.outputs.cache-hit != 'true'
run: pnpm install --no-frozen-lockfile
- run: pnpm run build
- name: Get SLUG and SHA
id: tag-meta
run: |
BRANCH_SLUG=$(echo "${GITHUB_REF#refs/heads/}" | sed 's/\//-/g')
SHORT_SHA=$(echo "${GITHUB_SHA::6}")
echo "BRANCH_SLUG=${BRANCH_SLUG}" >> "$GITHUB_OUTPUT"
echo "SHORT_SHA=${SHORT_SHA}" >> "$GITHUB_OUTPUT"
- name: Publish Dev Tag
env:
GITHUB_TOKEN: ${{ secrets.WORKFLOW_GH_USER }}
TAG_NAME: "${{ steps.tag-meta.outputs.BRANCH_SLUG }}${{ steps.tag-meta.outputs.SHORT_SHA }}"
run: |
rm -rf src .husky .github .storybook .prettierrc .eslint.config.js pnpm-lock.yaml vercel.json vite.config.js
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
CURRENT_VERSION=$(pnpm exec -c "echo $(pnpm pkg get version)")
pnpm version $CURRENT_VERSION-$TAGNAME --no-git-tag-version
git add .
git add -f dist
git commit -m "chore: release $TAG_NAME"
git tag -a $TAG_NAME -m "Release $TAG_NAME"
git push origin "TAG_NAME