Skip to content

chore: update dependencies and enhance tab synchronization logic #42

chore: update dependencies and enhance tab synchronization logic

chore: update dependencies and enhance tab synchronization logic #42

Workflow file for this run

name: Release
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
# Allow the action to create pull requests and push to the branch
permissions:
pull-requests: write
contents: write
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.3
- name: Install dependencies
run: bun install
- name: Setup Turbo Cache
uses: actions/cache@v4
with:
path: .turbo
key: ${{ runner.os }}-turbo-${{ github.sha }}
restore-keys: |
${{ runner.os }}-turbo-
- name: Authenticate with Google Cloud
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.CHROME_SERVICE_ACCOUNT_JSON }}
- name: Create Release Pull Request or Publish
id: changesets
uses: changesets/action@v1
with:
publish: bun run release
version: bun run version
commit: "chore: version packages"
title: "chore: version packages"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHROME_EXTENSION_ID: ${{ vars.CHROME_EXTENSION_ID }}
CHROME_PUBLISHER_ID: ${{ vars.CHROME_PUBLISHER_ID }}
FIREFOX_API_KEY: ${{ secrets.FIREFOX_API_KEY }}
FIREFOX_API_SECRET: ${{ secrets.FIREFOX_API_SECRET }}
FIREFOX_EXTENSION_ID: ${{ vars.FIREFOX_EXTENSION_ID }}
ENABLE_FIREFOX_PUBLISHING: ${{ vars.ENABLE_FIREFOX_PUBLISHING }}
- name: Add Job Summary and Notice
if: steps.changesets.outputs.hasChangesets == 'false'
run: |
# Get the version for the release link
VERSION=$(jq -r '.version' packages/extension/package.json)
# Check if changesets actually published in this run
# The 'published' output is 'true' if packages were published
if [ "${{ steps.changesets.outputs.published }}" = "true" ]; then
# New release was created in this run
WAS_PUBLISHED=true
else
# No publishing happened (version already released)
WAS_PUBLISHED=false
fi
if [ "$WAS_PUBLISHED" = "true" ]; then
# Add notice annotation for easy visibility
echo "::notice title=Upload Successful::Extension uploaded to browser stores (see logs for details)"
# Add detailed job summary
echo "## ✅ Extension Published" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "The extension has been uploaded to browser stores as a **draft**." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 🏷️ GitHub Release" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "👉 [View Release v${VERSION}](https://github.com/${{ github.repository }}/releases/tag/v${VERSION})" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "The release includes extension zip files for both **Chrome** and **Firefox**." >> $GITHUB_STEP_SUMMARY
echo "Users can download and manually install the Firefox version using 'Load Temporary Add-on'." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📋 Next Steps: Manual Review & Publish" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "#### Chrome Web Store" >> $GITHUB_STEP_SUMMARY
echo "👉 [Open Chrome Web Store Dashboard](https://chrome.google.com/webstore/devconsole/${{ vars.CHROME_PUBLISHER_ID }}/${{ vars.CHROME_EXTENSION_ID }}/edit)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Review the uploaded changes" >> $GITHUB_STEP_SUMMARY
echo "2. Click **'Submit for review'**" >> $GITHUB_STEP_SUMMARY
echo "3. Wait for Google's approval (usually 1-3 days)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "#### Firefox Add-ons" >> $GITHUB_STEP_SUMMARY
echo "👉 [Open Firefox Developer Hub](https://addons.mozilla.org/developers/)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
if [ "${{ vars.ENABLE_FIREFOX_PUBLISHING }}" = "true" ]; then
echo "**Status**: Published to Mozilla Add-ons for review" >> $GITHUB_STEP_SUMMARY
else
echo "**Status**: Publishing disabled (\`ENABLE_FIREFOX_PUBLISHING\` not set to \`true\`)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "The Firefox \`.zip\` is included in the GitHub release for manual installation." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "To enable automated publishing:" >> $GITHUB_STEP_SUMMARY
echo "1. Wait for Mozilla to approve your first submission" >> $GITHUB_STEP_SUMMARY
echo "2. Set \`ENABLE_FIREFOX_PUBLISHING=true\` as a GitHub variable" >> $GITHUB_STEP_SUMMARY
fi
else
# Version already published - show info message
echo "::notice title=Already Published::Version v${VERSION} is already released"
echo "## ℹ️ Version Already Published" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Version **v${VERSION}** is already released. No changes to publish." >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 🏷️ Existing GitHub Release" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "👉 [View Release v${VERSION}](https://github.com/${{ github.repository }}/releases/tag/v${VERSION})" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### 📝 To Publish a New Version" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "1. Add a changeset: \`bun changeset add\`" >> $GITHUB_STEP_SUMMARY
echo "2. Merge the \"Version Packages\" PR that Changesets will create" >> $GITHUB_STEP_SUMMARY
echo "3. The release will be automatically published" >> $GITHUB_STEP_SUMMARY
fi