v1.3.0 #28
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release | |
| on: | |
| release: | |
| types: [published] | |
| push: | |
| tags: | |
| - "v*" | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0 | |
| with: | |
| bun-version: 1.3.11 | |
| - name: Install | |
| run: bun install --frozen-lockfile | |
| - name: Type check | |
| run: bun run type-check | |
| - name: Test | |
| run: bun test | |
| - name: Build | |
| env: | |
| VITE_WEATHER_API_KEY: ${{ secrets.VITE_WEATHER_API_KEY }} | |
| run: RELEASE_BUILD=1 bun run build | |
| - name: Lint (Firefox) | |
| run: bun run lint:firefox | |
| - name: Package | |
| run: bun run pack:zips | |
| - name: Determine version | |
| id: ver | |
| run: echo "version=$(bun scripts/version.mjs)" >> $GITHUB_OUTPUT | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 | |
| with: | |
| name: extension-zips | |
| path: | | |
| tabula-${{ steps.ver.outputs.version }}-chrome.zip | |
| tabula-${{ steps.ver.outputs.version }}-firefox.zip | |
| # Step 1/2: Attach pre-built zips. XPI is not yet available here (signed below). | |
| - name: Attach zips to Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v2.0.5 | |
| with: | |
| files: | | |
| tabula-${{ steps.ver.outputs.version }}-chrome.zip | |
| tabula-${{ steps.ver.outputs.version }}-firefox.zip | |
| - name: Publish to Firefox AMO | |
| if: github.event_name == 'release' | |
| env: | |
| AMO_JWT_ISSUER: ${{ secrets.AMO_JWT_ISSUER }} | |
| AMO_JWT_SECRET: ${{ secrets.AMO_JWT_SECRET }} | |
| WEB_EXT_API_KEY: ${{ secrets.AMO_JWT_ISSUER }} | |
| WEB_EXT_API_SECRET: ${{ secrets.AMO_JWT_SECRET }} | |
| run: bun run publish:firefox | |
| # Kept separate from the zips upload — signed XPI is produced after AMO sign step. | |
| - name: Upload signed XPI artifact | |
| if: github.event_name == 'release' | |
| uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 | |
| with: | |
| name: signed-firefox-xpi | |
| path: web-ext-artifacts/*.xpi | |
| if-no-files-found: ignore | |
| # Step 2/2: Attach signed XPI. A second release step is required because | |
| # the XPI is only available after the AMO signing step above. | |
| - name: Attach signed XPI to Release | |
| if: github.event_name == 'release' | |
| uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v2.0.5 | |
| with: | |
| files: web-ext-artifacts/*.xpi | |
| # Chrome Web Store publishing disabled - requires $5 developer fee | |
| # Uncomment when ready to publish to Chrome | |
| # - name: Publish to Chrome Web Store | |
| # if: github.event_name == 'release' && env.CHROME_EXTENSION_ID != '' | |
| # env: | |
| # CHROME_EXTENSION_ID: ${{ secrets.CHROME_EXTENSION_ID }} | |
| # CHROME_CLIENT_ID: ${{ secrets.CHROME_CLIENT_ID }} | |
| # CHROME_CLIENT_SECRET: ${{ secrets.CHROME_CLIENT_SECRET }} | |
| # CHROME_REFRESH_TOKEN: ${{ secrets.CHROME_REFRESH_TOKEN }} | |
| # CLIENT_ID: ${{ secrets.CHROME_CLIENT_ID }} | |
| # CLIENT_SECRET: ${{ secrets.CHROME_CLIENT_SECRET }} | |
| # REFRESH_TOKEN: ${{ secrets.CHROME_REFRESH_TOKEN }} | |
| # run: bun run publish:chrome |