41 lines
1.1 KiB
YAML
41 lines
1.1 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
frontend-test:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Node.js 22
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: '22'
|
|
cache: 'npm'
|
|
cache-dependency-path: package-lock.json
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
npm config set fetch-retries 5
|
|
npm config set fetch-retry-mintimeout 10000
|
|
npm config set fetch-retry-maxtimeout 120000
|
|
for i in 1 2 3; do
|
|
npm install --legacy-peer-deps && break
|
|
echo "Attempt $i failed, retrying in 20s..."
|
|
sleep 20
|
|
done
|
|
|
|
# heft test = сборка (sass + typescript + lint) и следом Jest. Это НЕ то же
|
|
# самое, что npm run build: там дополнительно пакуется .sppkg, а для проверки
|
|
# на PR упаковка не нужна.
|
|
- name: Run unit tests (Jest via heft)
|
|
run: npx heft test --clean
|