on:
  push:
    tags:
      - 'v*'
  workflow_dispatch:

name: Auto Release

jobs:
  build:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4

      - name: Dashboard Build
        run: |
          cd dashboard
          npm install
          npm run build
          echo "COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
          echo ${{ github.ref_name }} > dist/assets/version
          zip -r dist.zip dist

      - name: Fetch Changelog
        run: |
          echo "changelog=changelogs/${{github.ref_name}}.md" >> "$GITHUB_ENV"

      - name: Create Release
        uses: ncipollo/release-action@v1
        with:
          bodyFile: ${{ env.changelog }}
          artifacts: "dashboard/dist.zip"