Skip to content

Add theme editor sync option to dev server #35

Add theme editor sync option to dev server

Add theme editor sync option to dev server #35

Workflow file for this run

name: CI
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
jobs:
test:
name: Test (Node ${{ matrix.node }} on ${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
node: [18, 20, 22]
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 9
- name: Setup Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Run linter
run: pnpm run lint
- name: Run type checking
run: pnpm run typecheck
- name: Run tests
run: pnpm test
- name: Upload coverage to Codecov
if: matrix.os == 'ubuntu-latest' && matrix.node == '20'
uses: codecov/codecov-action@v3
with:
files: ./coverage/lcov.info
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
quality:
name: Quality Checks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Run full validation
run: pnpm run validate
- name: Check package size
run: pnpm run size-check
- name: Build package
run: pnpm run build
- name: Verify build output
run: |
if [ ! -f "dist/bin/multi-shop.js" ]; then
echo "Error: CLI binary not built"
exit 1
fi
if [ ! -f "dist/lib/index.js" ]; then
echo "Error: Main library not built"
exit 1
fi
echo "Build verification passed"
security:
name: Security Audit
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 9
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install dependencies
run: pnpm install
- name: Build package (for audit command)
run: pnpm run build
- name: Run multi-shop security audit
run: node dist/bin/multi-shop.js audit --json > security-audit-report.json || true
- name: Display audit report
run: node dist/bin/multi-shop.js audit || true
- name: Upload audit report
uses: actions/upload-artifact@v4
if: always()
with:
name: security-audit-report
path: security-audit-report.json
- name: Run npm security audit
run: pnpm run security:audit
continue-on-error: true
- name: Check for outdated dependencies
run: pnpm run security:outdated
continue-on-error: true