From ebfccb605ff6f9a95ca5f7c8e232e4852e212014 Mon Sep 17 00:00:00 2001 From: Alex Sparkes Date: Fri, 24 Apr 2026 15:06:14 +0100 Subject: [PATCH] chore: add submit-beta and update submit workflows for automated store deployment (#1168) --- .github/workflows/submit-beta.yml | 57 +++++++++++++++++++++++++++++++ .github/workflows/submit.yml | 56 +++++++++++++++++++++++------- 2 files changed, 100 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/submit-beta.yml diff --git a/.github/workflows/submit-beta.yml b/.github/workflows/submit-beta.yml new file mode 100644 index 00000000..d779acaa --- /dev/null +++ b/.github/workflows/submit-beta.yml @@ -0,0 +1,57 @@ +name: Submit to Browser Stores (Beta) + +on: + release: + types: [prereleased] + workflow_dispatch: + inputs: + tag: + description: "Pre-release tag to re-submit (e.g. v7.6.1-beta.3)" + required: true + +permissions: + contents: read + +jobs: + submit-beta: + runs-on: ubuntu-latest + environment: beta + + steps: + - name: Resolve tag and version + id: tag + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + TAG="${{ github.event.inputs.tag }}" + else + TAG="${{ github.event.release.tag_name }}" + fi + echo "tag=$TAG" >> $GITHUB_OUTPUT + echo "version=${TAG#v}" >> $GITHUB_OUTPUT + + - name: Download release ZIPs + run: | + mkdir -p dist + gh release download "${{ steps.tag.outputs.tag }}" \ + --pattern "chrome-*.zip" \ + --dir ./dist + env: + GH_TOKEN: ${{ github.token }} + + - name: Verify ZIP + run: | + ls -la dist/ + test -n "$(ls dist/chrome-*.zip 2>/dev/null)" || \ + { echo "chrome ZIP not found in dist/"; exit 1; } + + - name: Submit to Chrome Web Store (Trusted Testers) + uses: PlasmoHQ/bpp@v3 + with: + keys: ${{ secrets.SUBMIT_KEYS_BETA }} + chrome-zip: dist/chrome-${{ steps.tag.outputs.version }}.zip + + - name: Summary + if: always() + run: | + echo "## Beta Store Submission: ${{ steps.tag.outputs.tag }}" >> $GITHUB_STEP_SUMMARY + echo "- Chrome Web Store (trustedTesters)" >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/submit.yml b/.github/workflows/submit.yml index 572bb54d..b3a80be4 100644 --- a/.github/workflows/submit.yml +++ b/.github/workflows/submit.yml @@ -1,27 +1,57 @@ -name: Submit +name: Submit to Browser Stores on: + release: + types: [released] workflow_dispatch: inputs: tag: - description: "Release tag to submit, i.e 6.0.5" + description: "Release tag to re-submit (e.g. v7.6.1)" required: true +permissions: + contents: read + jobs: submit: runs-on: ubuntu-latest + environment: production + steps: - - name: Setup Chrome - uses: browser-actions/setup-chrome@latest - with: - chrome-version: latest - - name: Download Github Release Assets - uses: PlasmoHQ/download-release-asset@v1.0.0 - with: - tag: ${{ github.event.inputs.tag }} - - name: Browser Plugin Publish - uses: PlasmoHQ/bpp@v2 + - name: Resolve tag and version + id: tag + run: | + if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then + TAG="${{ github.event.inputs.tag }}" + else + TAG="${{ github.event.release.tag_name }}" + fi + echo "tag=$TAG" >> $GITHUB_OUTPUT + echo "version=${TAG#v}" >> $GITHUB_OUTPUT + + - name: Download release ZIPs + run: | + mkdir -p dist + gh release download "${{ steps.tag.outputs.tag }}" \ + --pattern "chrome-*.zip" \ + --dir ./dist env: - PUPPETEER_EXECUTABLE_PATH: /opt/hostedtoolcache/chromium/latest/x64/chrome + GH_TOKEN: ${{ github.token }} + + - name: Verify ZIP + run: | + ls -la dist/ + test -f "dist/chrome-${{ steps.tag.outputs.version }}.zip" || \ + { echo "chrome ZIP not found"; exit 1; } + + - name: Submit to Chrome Web Store + uses: PlasmoHQ/bpp@v3 with: keys: ${{ secrets.SUBMIT_KEYS }} + chrome-zip: dist/chrome-${{ steps.tag.outputs.version }}.zip + + - name: Summary + if: always() + run: | + echo "## Store Submission: ${{ steps.tag.outputs.tag }}" >> $GITHUB_STEP_SUMMARY + echo "- Chrome Web Store (listed)" >> $GITHUB_STEP_SUMMARY