From 9d639b65a9a1bc8b926f58fa7135aac7736aca7e Mon Sep 17 00:00:00 2001 From: Daniel Dada Date: Tue, 24 Jun 2025 14:53:06 +0300 Subject: [PATCH] feat: set up github action for publishing extension --- .github/workflows/publish-extension.yml | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/publish-extension.yml diff --git a/.github/workflows/publish-extension.yml b/.github/workflows/publish-extension.yml new file mode 100644 index 0000000..cd95e05 --- /dev/null +++ b/.github/workflows/publish-extension.yml @@ -0,0 +1,47 @@ +name: Publish Chrome Extension + +on: + push: + tags: + - 'v*.*.*' + +jobs: + publish: + name: Pack and Upload Extension + runs-on: ubuntu-latest + + env: + EXTENSION_ID: ${{ secrets.GOOGLE_EXTENSION_ID }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set version from tag + id: version + run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT + + - name: Create zip package + run: | + zip -r goose-highlighter.zip . -x '*.git*' 'node_modules/*' 'versioning.md' '.releaserc.json' 'package.json' 'package-lock.json' 'README.md' + + - name: Install webstore upload CLI + run: npm install -g chrome-webstore-upload-cli + + - name: Upload to Chrome Web Store + run: | + chrome-webstore-upload upload \ + --source goose-highlighter.zip \ + --extension-id $EXTENSION_ID \ + --client-id ${{ secrets.GOOGLE_CLIENT_ID }} \ + --client-secret ${{ secrets.GOOGLE_CLIENT_SECRET }} \ + --refresh-token ${{ secrets.GOOGLE_REFRESH_TOKEN }} + + - name: Publish extension + run: | + chrome-webstore-upload publish \ + --extension-id $EXTENSION_ID \ + --client-id ${{ secrets.GOOGLE_CLIENT_ID }} \ + --client-secret ${{ secrets.GOOGLE_CLIENT_SECRET }} \ + --refresh-token ${{ secrets.GOOGLE_REFRESH_TOKEN }} +