name: Build and Publish

permissions:
  contents: write

on:
  push:
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+'

jobs:
  build:
    runs-on: ubuntu-latest
    name: 构建
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          ref: 'main'
      - uses: actions/setup-node@v4
        with:
          node-version: 16
          cache: 'npm'
          cache-dependency-path: package-lock.json
      - run: npm install -D
      - run: npm run package
      - run: |
          git config user.name github-actions
          git config user.email github-actions@github.com
      - run: |
          git add .
          git commit -m "Auto Build"
      - id: get_version
        uses: battila7/get-version-action@v2
      - run: git tag -f "v${{ steps.get_version.outputs.major }}"
      - run: git push
      - run: git push --tags -f