From 1e56235b6004e667ce6aed264ab48162aadbc900 Mon Sep 17 00:00:00 2001 From: Igor Galeta Date: Thu, 9 Jul 2026 19:31:03 +0300 Subject: [PATCH 1/3] ci: add GitHub Actions workflow for typecheck, build, and ClawHub validation --- .github/workflows/validate.yml | 48 ++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/validate.yml diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..dbbe176 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,48 @@ +name: Validate Plugin + +on: + push: + branches: [main] + pull_request: + branches: [main] + workflow_dispatch: + +jobs: + validate: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + node-version: [22, 24] + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up pnpm + uses: pnpm/action-setup@v4 + + - name: Set up Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Typecheck + run: pnpm run typecheck + + - name: Build + run: pnpm run build + + - name: Install ClawHub CLI + run: npm install -g clawhub@0.23.1 + + - name: ClawHub validate + run: clawhub package validate . + + - name: ClawHub publish (dry run) + run: clawhub package publish . --family code-plugin --dry-run From 319d6f9c8b9a163daa01e820649552c7aa27a891 Mon Sep 17 00:00:00 2001 From: Igor Galeta Date: Thu, 9 Jul 2026 19:59:00 +0300 Subject: [PATCH 2/3] ci: add ClawHub publish workflow and use clawhub@latest --- .github/workflows/publish.yml | 58 ++++++++++++++++++++++++++++++++++ .github/workflows/validate.yml | 2 +- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..343fb9e --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,58 @@ +name: Publish to ClawHub + +on: + push: + tags: + - "v*" + +permissions: + contents: read + +jobs: + publish: + runs-on: ubuntu-latest + environment: release + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up pnpm + uses: pnpm/action-setup@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 24 + cache: pnpm + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build + # ClawHub packs the folder with `npm pack --ignore-scripts`, so the + # compiled `dist/` must already exist on disk before publishing. + run: pnpm run build + + - name: Install ClawHub CLI + run: npm install -g clawhub@latest + + - name: Sign in to ClawHub + env: + CLAWHUB_TOKEN: ${{ secrets.CLAWHUB_TOKEN }} + run: | + if [ -z "$CLAWHUB_TOKEN" ]; then + echo "::error::CLAWHUB_TOKEN secret is required to publish." + exit 1 + fi + clawhub login --token "$CLAWHUB_TOKEN" + clawhub whoami + + - name: ClawHub validate + run: clawhub package validate . + + - name: ClawHub publish (dry run) + run: clawhub package publish . --family code-plugin --dry-run + + - name: ClawHub publish + run: clawhub package publish . --family code-plugin diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index dbbe176..ccd7f68 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -39,7 +39,7 @@ jobs: run: pnpm run build - name: Install ClawHub CLI - run: npm install -g clawhub@0.23.1 + run: npm install -g clawhub@latest - name: ClawHub validate run: clawhub package validate . From cee2bcfcd332e5a9a37c2b20f59d03448d426b33 Mon Sep 17 00:00:00 2001 From: Igor Galeta Date: Thu, 9 Jul 2026 21:53:51 +0300 Subject: [PATCH 3/3] ci: pin pnpm version --- .github/workflows/publish.yml | 2 ++ .github/workflows/validate.yml | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 343fb9e..d808600 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,6 +19,8 @@ jobs: - name: Set up pnpm uses: pnpm/action-setup@v4 + with: + version: 10.33.1 - name: Set up Node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index ccd7f68..bad2452 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -7,6 +7,9 @@ on: branches: [main] workflow_dispatch: +permissions: + contents: read + jobs: validate: runs-on: ubuntu-latest @@ -22,6 +25,8 @@ jobs: - name: Set up pnpm uses: pnpm/action-setup@v4 + with: + version: 10.33.1 - name: Set up Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4