feat: add generator support to PhotonAdapter #153
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/CD Pipeline | |
| on: | |
| push: | |
| branches: [main, develop] | |
| paths: | |
| - 'src/**' | |
| - 'tests/**' | |
| - 'package.json' | |
| - 'package-lock.json' | |
| - 'tsconfig.json' | |
| - 'jest.config.js' | |
| - '.github/workflows/**' | |
| - 'scripts/**' | |
| - 'manifest.json' | |
| pull_request: | |
| branches: [main, develop] | |
| jobs: | |
| test: | |
| name: Run Tests | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| node-version: [22.x] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build project | |
| run: npm run build | |
| - name: Run critical tests | |
| run: npm run test:critical | |
| env: | |
| NODE_OPTIONS: --experimental-vm-modules | |
| - name: Run E2E tests | |
| run: npm run test:e2e | |
| env: | |
| NCP_CONFIRM_BEFORE_RUN: 'false' | |
| NCP_DEBUG: 'false' | |
| NODE_OPTIONS: --experimental-vm-modules | |
| - name: Run integration tests | |
| run: npm run test:integration | |
| env: | |
| NODE_OPTIONS: --experimental-vm-modules | |
| lint: | |
| name: Lint and Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22.x' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Type check | |
| run: npx tsc --noEmit | |
| coverage: | |
| name: Code Coverage | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22.x' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build project | |
| run: npm run build | |
| - name: Run tests with coverage | |
| run: npm run test:coverage | |
| env: | |
| NODE_OPTIONS: --experimental-vm-modules | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| files: ./coverage/lcov.info | |
| fail_ci_if_error: false | |
| build-dxt: | |
| name: Build and Test DXT Package | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22.x' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build DXT package | |
| run: npm run build:dxt:patched | |
| - name: Test DXT package | |
| run: npm run test:dxt | |
| env: | |
| NODE_OPTIONS: --experimental-vm-modules | |
| - name: Upload DXT artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ncp-dxt-${{ github.sha }} | |
| path: ncp.dxt | |
| retention-days: 7 |