🔖 feat(all): Release v1.4.1 #46
Workflow file for this run
This file contains 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
############################################################################### | |
# 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 | |
############################################################################### |