From 821636330f565a1493a454bbd86214f89399c5fa Mon Sep 17 00:00:00 2001 From: Gitea CI Administrator Date: Mon, 20 Jul 2026 06:02:03 +0000 Subject: [PATCH] ci: package component on main updates --- .gitea/workflows/package.yml | 68 ++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .gitea/workflows/package.yml diff --git a/.gitea/workflows/package.yml b/.gitea/workflows/package.yml new file mode 100644 index 0000000..a75dce4 --- /dev/null +++ b/.gitea/workflows/package.yml @@ -0,0 +1,68 @@ +name: Package component + +on: + push: + branches: + - main + +jobs: + package: + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Check out repository + uses: actions/checkout@v4 + + - name: Set up pnpm + uses: pnpm/action-setup@v4 + with: + version: 10.32.1 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Type check + run: pnpm typecheck + + - name: Lint + run: pnpm lint + + - name: Test with coverage + run: pnpm test:coverage + + - name: Build component + run: pnpm build + + - name: Pack component + run: pnpm pack --pack-destination artifacts + + - name: Verify component package + shell: bash + run: | + set -euo pipefail + package_file="$(find artifacts -maxdepth 1 -type f -name '*.tgz' -print -quit)" + test -n "$package_file" + package_contents="$(tar -tzf "$package_file")" + for required_file in \ + package/dist/index.js \ + package/dist/index.cjs \ + package/dist/types/index.d.ts \ + package/dist/style.css \ + package/package.json \ + package/README.md; do + grep -Fxq "$required_file" <<< "$package_contents" + done + + - name: Upload component package + uses: actions/upload-artifact@v3 + with: + name: waveform-analysis-${{ gitea.sha }} + path: artifacts/*.tgz + if-no-files-found: error + retention-days: 7