Skip to content

CD

CD #7

Workflow file for this run

name: CD
on:
release:
types: ["published"]
jobs:
build:
name: Build
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "yarn"
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build
run: yarn build
- name: Upload chrome artifact
uses: actions/upload-artifact@v4
with:
path: dist/chrome
name: chrome
- name: Upload firefox artifact
uses: actions/upload-artifact@v4
with:
path: dist/firefox
name: firefox
# - name: Upload safari artifact
# uses: actions/upload-artifact@v4
# with:
# path: bundle/safari
# name: safari
chrome:
name: Deploy to Chrome
runs-on: ubuntu-latest
needs: build
env:
EXTENSION_ID: ${{ secrets.CHROME_EXTENSION_ID }}
CLIENT_ID: ${{ secrets.CHROME_CLIENT_ID }}
CLIENT_SECRET: ${{ secrets.CHROME_CLIENT_SECRET }}
REFRESH_TOKEN: ${{ secrets.CHROME_REFRESH_TOKEN }}
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: chrome
- name: Upload to Chrome Web Store
run: npx chrome-webstore-upload-cli upload --auto-publish
# edge:
# name: Deploy to Edge
# runs-on: ubuntu-latest
# needs: build
# steps:
# - name: Download artifact
# uses: actions/download-artifact@v4
# with:
# name: chrome
firefox:
name: Deploy to Firefox
runs-on: ubuntu-latest
needs: build
env:
API_KEY: ${{ secrets.FIREFOX_API_KEY }}
API_SECRET: ${{ secrets.FIREFOX_API_SECRET }}
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: firefox
- name: Sign add-on
run: npx web-ext sign --api-key $API_KEY --api-secret $API_SECRET
- name: Upload signed add-on
uses: actions/upload-artifact@v4
with:
path: web-ext-artifacts
name: firefox-signed
- name: Upload release asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: web-ext-artifacts/*.xpi
asset_name: firefox.xpi
asset_content_type: application/x-xpinstall
- name: Trigger workflow on website
uses: benc-uk/workflow-dispatch@v1
with:
workflow: cd.yaml
repo: NIAEFEUP/nitsig-website
inputs: '{ "version": "${{ github.event.release.name }}" }'
token: ${{ secrets.GITHUB_TOKEN }}
# opera:
# name: Deploy to Opera
# runs-on: ubuntu-latest
# needs: build
# steps:
# - name: Download artifact
# uses: actions/download-artifact@v4
# with:
# name: chrome
# safari:
# name: Deploy to Safari
# runs-on: macos-latest
# needs: build
# steps:
# - name: Download artifact
# uses: actions/download-artifact@v4
# with:
# name: safari
# - run: ls -R