Skip to content

GLA-69: CI release workflow to build and attach zip#25

Merged
paoloanzn merged 1 commit into
mainfrom
paolo/gla-69-ci-github-action-to-build-and-attach-zip-on-release
Mar 7, 2026
Merged

GLA-69: CI release workflow to build and attach zip#25
paoloanzn merged 1 commit into
mainfrom
paolo/gla-69-ci-github-action-to-build-and-attach-zip-on-release

Conversation

@paoloanzn
Copy link
Copy Markdown
Member

Summary

  • add release workflow at .github/workflows/release.yml
  • trigger on published GitHub releases only
  • run npm ci, wxt build, and wxt zip in CI
  • upload .output/*.zip to the release via action-gh-release
  • add README install note linking to latest release zip asset

Validation

  • locally ran: npm run build && npm run zip
  • verified zip output generated in .output/

@linear
Copy link
Copy Markdown

linear Bot commented Mar 7, 2026

GLA-69 CI: GitHub Action to build and attach zip on release

Overview

When a GitHub Release is published, a CI workflow automatically runs wxt build && wxt zip, then uploads the resulting .zip as a release asset. Users can download a ready-to-install extension directly from the Releases page without needing to clone the repo or run any build steps.


Workflow File

.github/workflows/release.yml

name: Release

on:
  release:
    types: [published]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm

      - name: Install dependencies
        run: npm ci

      - name: Build & zip
        run: npx wxt build && npx wxt zip

      - name: Upload zip to release
        uses: softprops/action-gh-release@v2
        with:
          files: .output/*.zip

The workflow triggers only on published (not created or drafted), so assets are attached at the moment the release goes public.


Release Asset Name

WXT names the zip <name>-<version>-chrome.zip using name and version from package.json. For example: prism-0.1.0-chrome.zip. No renaming step needed.


README Note

The Install section in the README should reference the Releases page and point users to the .zip asset directly:

Download prism-x.x.x-chrome.zip from the latest release, unzip it, open chrome://extensions, enable Developer Mode, and click Load unpacked.


Acceptance Criteria

  • .github/workflows/release.yml exists and is valid
  • Publishing a GitHub Release triggers the workflow
  • The .zip file appears as a release asset after the workflow completes
  • The workflow fails loudly (non-zero exit) if the build step errors
  • README Install section links to the Releases page and references the zip asset

@paoloanzn paoloanzn merged commit 1be9b98 into main Mar 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant