name: AstrBot Dashboard CI on: push: branches: [ "master" ] pull_request: branches: [ "master" ] jobs: build: if: github.repository == 'AstrBotDevs/AstrBot' runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v6 - name: Setup pnpm uses: pnpm/action-setup@v6.0.9 with: version: 10.28.2 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '24.13.0' cache: "pnpm" cache-dependency-path: dashboard/pnpm-lock.yaml - name: Install and Build working-directory: dashboard run: | pnpm install --frozen-lockfile pnpm run build - name: Inject Commit SHA id: get_sha run: | echo "COMMIT_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV mkdir -p dashboard/dist/assets echo $COMMIT_SHA > dashboard/dist/assets/version cd dashboard zip -r dist.zip dist - name: Archive production artifacts uses: actions/upload-artifact@v7 with: name: dist-without-markdown path: | dashboard/dist !dist/**/*.md - name: Create GitHub Release if: github.event_name == 'push' uses: ncipollo/release-action@v1.21.0 with: tag: release-${{ github.sha }} owner: AstrBotDevs repo: astrbot-release-harbour body: "Automated release from commit ${{ github.sha }}" token: ${{ secrets.ASTRBOT_HARBOUR_TOKEN }} artifacts: "dashboard/dist.zip"