Skip to content

Bump the eslint group across 1 directory with 5 updates #958

Bump the eslint group across 1 directory with 5 updates

Bump the eslint group across 1 directory with 5 updates #958

name: Continuous integration
on:
pull_request:
workflow_call:
inputs:
ref:
description: 'Git commit to build and test'
required: false
type: string
jobs:
ci:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ inputs.ref }}
- name: Cache the node_modules dir
uses: actions/cache@v4
with:
path: node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('yarn.lock') }}
- name: Install
run: yarn install --immutable
- name: Format
run: make checkformatting
- name: Lint & typecheck
run: make lint
- name: Test
run: make test
- name: Fetch git tags
run: |
# Fetch tags because `git describe` uses them and the output from `git describe`
# is in turn used to produce the extension version number in `build/manifest.json`.
#
# GitHub does a shallow clone by default, so we have to un-shallow it for
# `git describe` to work.
git fetch --quiet --tags --unshallow
# Show version information in the build logs. This command will also be
# used by `tools/settings.js` to generate the extension version.
git describe --tags
- name: Build packages
run: |
make clean # Remove assets from test step
make build SETTINGS_FILE=settings/chrome-staging.json dist/ci-chrome-staging.zip
make build SETTINGS_FILE=settings/chrome-prod.json dist/ci-chrome-prod.zip
make build SETTINGS_FILE=settings/firefox-staging.json dist/ci-firefox-staging.xpi
make build SETTINGS_FILE=settings/firefox-prod.json dist/ci-firefox-prod.xpi
- name: Archive packages
uses: actions/upload-artifact@v4
with:
name: packages
path: |
dist/*.zip
dist/*.xpi
retention-days: 30