Skip to content

Prepare build workflow in GitHub #3

Prepare build workflow in GitHub

Prepare build workflow in GitHub #3

Workflow file for this run

name: Build Chrome Extension
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
cache-dependency-path: 'package-lock.json'
- name: Install dependencies
run: npm ci
- name: Lint code
run: npm run lint
- name: Run tests
run: npm test
build:
needs: test
runs-on: ubuntu-latest
strategy:
matrix:
browser: [chrome, firefox]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Node v20
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: 'package-lock.json'
- name: Install dependencies
run: npm ci
- name: Build extension for ${{ matrix.browser }}
run: npm run build-${{ matrix.browser }}
- name: Create zip file
run: |
zip -r ${{ matrix.browser }}-extension.zip dist/*
- name: Upload extension zip
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.browser }}-extension
path: ${{ matrix.browser }}-extension.zip
if-no-files-found: error