From 7148619a98c09eaaee68376d4cd021149bd70c8f Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Wed, 15 Jul 2026 09:36:49 +0700 Subject: [PATCH 1/3] feat(release): add Edge and Opera zip scripts --- package.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package.json b/package.json index 34047ef..58f2169 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,8 @@ "build:firefox": "wxt build -b firefox", "zip": "wxt zip", "zip:firefox": "wxt zip -b firefox", + "zip:edge": "wxt zip -b edge", + "zip:opera": "wxt zip -b opera", "compile": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest", From 015913d22627a1efb00e01b6dfec73bb7f923591 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Wed, 15 Jul 2026 09:37:54 +0700 Subject: [PATCH 2/3] docs: add multi-browser installation template --- INSTALL.md | 63 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index 987d581..f26c2a4 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,29 +1,52 @@ -# How to Install +# How to Install Gmail Alias Toolkit -## Chromium +## Choose a package -1. Download and unzip the `gmail-alias-toolkit-{version}-chrome.zip` ([latest release desirable](https://github.com/ePlus-DEV/gmail-alias-toolkit/releases)). -2. Rename the unzipped directory to `google-cloud-helper`. - - When you update manually, replace the **content** of the `google-cloud-helper` folder with the **content** of the latest zipped version. This ensures all extension settings are preserved. - - As long as the extension loads from the same folder path as it was originally installed, your settings will be kept. -3. Open Chromium/Chrome and go to _Extensions_. -4. Click to enable _Developer mode_. -5. Click _Load unpacked extension..._. -6. In the file selector dialog: - - Select the `google-cloud-helper` directory you created. - - Click _Open_. +Download the package for your browser from the current GitHub release: -The extension will now be available in your Chromium/Chromium-based browser. +- `gmail-alias-toolkit-{version}-chrome.zip` — Google Chrome and Chromium browsers +- `gmail-alias-toolkit-{version}-firefox.zip` — Mozilla Firefox +- `gmail-alias-toolkit-{version}-edge.zip` — Microsoft Edge +- `gmail-alias-toolkit-{version}-opera.zip` — Opera -**Note:** You must update manually. For some users, manual updates are beneficial because: +## Chrome, Edge, Opera, and other Chromium browsers -- You can update when **you** want. -- If a new version is unsatisfactory, you can easily reinstall the previous one. +1. Download the ZIP file for your browser and extract it. +2. Rename the extracted directory to `gmail-alias-toolkit`. +3. Open your browser's extensions page: + - Chrome: `chrome://extensions` + - Edge: `edge://extensions` + - Opera: `opera://extensions` +4. Enable **Developer mode**. +5. Choose **Load unpacked**. +6. Select the extracted `gmail-alias-toolkit` directory. -## Available Stores +### Manual updates -You can download the extension from the following official stores: +To preserve extension settings when updating manually: -[![Chrome Web Store](https://github.com/user-attachments/assets/4d8fd051-4c28-4290-afb8-9c182bb2b5d3)](https://chromewebstore.google.com/detail/cbapjlppdfbnfbopdegobofmfijnlibl?utm_source=item-share-cb?utm_source=github) [![Firefox Add-ons](https://github.com/user-attachments/assets/20177a18-81db-45ed-8838-64c29df48d34)](https://addons.mozilla.org/addon/gmail-alias-toolkit) [![Microsoft Edge Add-ons](https://github.com/user-attachments/assets/29994e96-2de9-4136-8f0e-b98c65c0cb28)](https://github.com/ePlus-DEV/gmail-alias-toolkit/releases/?utm_source=github) [![Opera Add-ons](https://github.com/user-attachments/assets/56481763-2d91-408d-8c45-eba77e2dc4c4)](https://github.com/ePlus-DEV/gmail-alias-toolkit/releases/?utm_source=github) +1. Keep using the same `gmail-alias-toolkit` folder path. +2. Replace the contents of that folder with the contents from the new ZIP file. +3. Return to the extensions page and click **Reload**. -**Note:** For browsers not listed above, you can manually install the extension by following the installation instructions provided earlier. +## Firefox + +1. Download and extract `gmail-alias-toolkit-{version}-firefox.zip`. +2. Open `about:debugging#/runtime/this-firefox`. +3. Click **Load Temporary Add-on**. +4. Select `manifest.json` from the extracted folder. + +Temporary Firefox installations are removed when Firefox restarts. For normal use, install the signed version from Firefox Add-ons. + +## Official stores + +- [Chrome Web Store](https://chromewebstore.google.com/detail/cbapjlppdfbnfbopdegobofmfijnlibl?utm_source=github) +- [Firefox Add-ons](https://addons.mozilla.org/addon/gmail-alias-toolkit) +- [Microsoft Edge package](https://github.com/ePlus-DEV/gmail-alias-toolkit/releases/latest) +- [Opera package](https://github.com/ePlus-DEV/gmail-alias-toolkit/releases/latest) + +## Notes + +- Manual installations do not update automatically. +- Keep the extracted folder after installation; deleting or moving it can disable the unpacked extension. +- The Edge and Opera packages are Chromium builds prepared specifically for their browser targets. From 52257ae87fa2e2747269346489ff261b67a6e63d Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Wed, 15 Jul 2026 09:39:11 +0700 Subject: [PATCH 3/3] feat(release): publish multi-browser assets and install guide --- .github/workflows/release.yml | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 93b62b6..6271b04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,13 +94,24 @@ jobs: - name: Run tests run: yarn test - - name: Build extension + - name: Build browser packages run: | yarn zip yarn zip:firefox + yarn zip:edge + yarn zip:opera - name: Verify build outputs - run: ls -lh .output/*.zip + run: | + set -euo pipefail + ls -lh .output/*.zip + + for browser in chrome firefox edge opera; do + if ! find .output -maxdepth 1 -type f -name "*-${browser}.zip" -print -quit | grep -q .; then + echo "::error::Missing ${browser} release package." + exit 1 + fi + done - name: Checkout latest main for changelog run: | @@ -117,6 +128,14 @@ jobs: tag: ${{ env.RELEASE_TAG }} writeToFile: true + - name: Generate GitHub release body + env: + CHANGELOG_NOTES: ${{ steps.changelog.outputs.changes }} + run: | + set -euo pipefail + sed "s/{version}/$RELEASE_TAG/g" INSTALL.md > RELEASE_NOTES.md + printf '\n\n---\n\n# Changelog\n\n%s\n' "$CHANGELOG_NOTES" >> RELEASE_NOTES.md + - name: Create changelog pull request as eplus-bot id: changelog_pr env: @@ -233,7 +252,7 @@ jobs: with: tag_name: ${{ env.RELEASE_TAG }} name: "v${{ env.RELEASE_TAG }}" - body: ${{ steps.changelog.outputs.changes }} + body_path: RELEASE_NOTES.md draft: false fail_on_unmatched_files: true files: .output/*.zip