Skip to content

🔖 feat(all): Release v1.4.1 #46

🔖 feat(all): Release v1.4.1

🔖 feat(all): Release v1.4.1 #46

Workflow file for this run

###############################################################################
# PLBLISH CHROME EXTENSION AND FIREFOX EXTENSION
#
# @see https://github.com/marketplace?type=actions
# @see https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
###############################################################################
name: Publish
###############################################################################
# ON
###############################################################################
on:
push:
tags:
- '*'
workflow_dispatch:
###############################################################################
# JOBS
###############################################################################
jobs:
build:
name: Publish web extensions in GitHub and in Marketplaces
runs-on: macos-13
permissions:
contents: write
###########################################################################
# STEPS
###########################################################################
steps:
#########################################################################
# INIT ENV
#########################################################################
- name: 🛠️ Checks out repository
uses: actions/checkout@v3
# @see https://github.com/LinusU/node-appdmg/issues/234
- name: 🛠️ Install SYSTEM tools
run: |
brew install jq
python3 -m pip install setuptools
npm install -g pnpm@^8
- name: 🛠️ Get package info
id: package
run: |
echo "NAME=$(jq -r '.name' package.json)" >> $GITHUB_OUTPUT
echo "VERSION=$(jq -r '.version' package.json)" >> $GITHUB_OUTPUT
echo "MOZILLA_ID=$(jq -r '.extra.store.mozilla.id' package.json)" >> $GITHUB_OUTPUT
echo "CHROME_ID=$(jq -r '.extra.store.chrome.id' package.json)" >> $GITHUB_OUTPUT
echo "EDGE_ID=$(jq -r '.extra.store.edge.id' package.json)" >> $GITHUB_OUTPUT
- name: 🛠️ Print env variables
run: |
echo "macos $(sw_vers -productVersion)"
python3 --version
xcode-select --version
xcrun --version
xcodebuild -version
echo "node $(node -v)"
echo "pnpm $(pnpm --version)"
echo "${{ toJson(steps.package.outputs) }}"
#########################################################################
# BUILD PACKAGE
#########################################################################
- name: 🏗️ Build PACKAGE
run: |
pnpm install --no-frozen-lockfile
pnpm readme
pnpm build
#########################################################################
# GITHUB RELEASE
#########################################################################
- name: 🏗️ Create Github release
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.package.outputs.VERSION }}
artifacts: "dist/comp/*.zip"
bodyFile: "docs/release-body.md"
# #########################################################################
# # FIREFOX
# #########################################################################
- name: 🛒 Upload FIREFOX extension in Mozilla Marketplace
uses: trmcnvn/firefox-addon@v1
with:
# uuid is only necessary when updating an existing addon,
# omitting it will create a new addon
uuid: '${{ steps.package.outputs.MOZILLA_ID }}'
xpi: dist/comp/firefox-${{ steps.package.outputs.NAME }}-${{ steps.package.outputs.VERSION }}.zip
manifest: dist/firefox/manifest.json
# get keys in:
# https://addons.mozilla.org/en-US/developers/addon/api/key/
api-key: ${{ secrets.FIREFOX_API_KEY }}
api-secret: ${{ secrets.FIREFOX_API_SECRET }}
continue-on-error: true
# #########################################################################
# # EDGE
# #########################################################################
- name: 🛒 Upload EDGE extension
uses: wdzeng/edge-addon@v1
with:
product-id: "${{ steps.package.outputs.EDGE_ID }}"
zip-path: dist/comp/edge-${{ steps.package.outputs.NAME }}-${{ steps.package.outputs.VERSION }}.zip
client-id: ${{ secrets.EDGE_CLIENT_ID }}
client-secret: ${{ secrets.EDGE_CLIENT_SECRET }}
access-token-url: ${{ secrets.EDGE_ACCESS_TOKEN_URL }}
continue-on-error: true
# #########################################################################
# # CHROME
# #########################################################################
- name: 🛒 Upload CHROME extension
uses: mnao305/chrome-extension-upload@v4.0.1
with:
file-path: 'dist/comp/chrome-${{ steps.package.outputs.NAME }}-${{ steps.package.outputs.VERSION }}.zip'
extension-id: "${{ steps.package.outputs.CHROME_ID }}"
client-id: ${{ secrets.CHOME_EXTENSION_CLIENT_ID }}
client-secret: ${{ secrets.CHOME_EXTENSION_CLIENT_SECRET }}
refresh-token: ${{ secrets.CHOME_EXTENSION_REFRESH_TOKEN }}
continue-on-error: true
###############################################################################
# END
###############################################################################