Add theme editor sync option to dev server #35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |