Skip to content

Merge pull request #222 from ePlus-DEV/dependabot/npm_and_yarn/produc… #800

Merge pull request #222 from ePlus-DEV/dependabot/npm_and_yarn/produc…

Merge pull request #222 from ePlus-DEV/dependabot/npm_and_yarn/produc… #800

Workflow file for this run

name: CI
on:
push:
branches: [main, dev]
pull_request:
branches: [main, dev]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
ci:
name: Type Check, Test & Build
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Validate GitHub Actions workflows
env:
ACTIONLINT_VERSION: 1.7.12
ACTIONLINT_SHA256: 8aca8db96f1b94770f1b0d72b6dddcb1ebb8123cb3712530b08cc387b349a3d8
run: |
set -euo pipefail
curl -fsSL \
"https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_amd64.tar.gz" \
-o actionlint.tar.gz
echo "${ACTIONLINT_SHA256} actionlint.tar.gz" | sha256sum --check
tar -xzf actionlint.tar.gz actionlint
./actionlint -shellcheck= -pyflakes= -color
- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: 24.x
cache: yarn
cache-dependency-path: yarn.lock
- name: Install dependencies
run: yarn install --frozen-lockfile --ignore-scripts --ignore-engines
- name: Prepare WXT types
run: yarn wxt prepare
- name: Compile TypeScript
id: compile
continue-on-error: true
shell: bash
run: |
set -o pipefail
yarn compile --pretty false 2>&1 | tee compile.log
- name: Upload TypeScript diagnostics
if: steps.compile.outcome == 'failure'
uses: actions/upload-artifact@v7
with:
name: typescript-diagnostics
path: compile.log
if-no-files-found: error
- name: Fail on TypeScript errors
if: steps.compile.outcome == 'failure'
run: exit 1
- name: Run tests with coverage
run: yarn test:coverage
- name: Upload coverage report
if: success()
uses: actions/upload-artifact@v7
with:
name: coverage-report
path: coverage/
retention-days: 7
- name: Build extension
run: yarn build