name: Validate Monorepo on: pull_request jobs: dependencies: name: Install dependencies runs-on: ${{ fromJSON(vars.RUNNER) }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 #v6.0.8 with: cache: true cache_dependency_path: '**/pnpm-lock.yaml' run_install: false - run: pnpm install --frozen-lockfile compliance: name: License Compliance needs: [dependencies] runs-on: ${{ fromJSON(vars.RUNNER) }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 #v6.0.8 with: run_install: false cache: true cache_dependency_path: '**/pnpm-lock.yaml' - run: pnpm install --offline - run: pnpm run compliance:licenses lint: name: Lint needs: [dependencies, compliance] runs-on: ${{ fromJSON(vars.RUNNER) }} timeout-minutes: 5 steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 #v6.0.8 with: run_install: false cache: true cache_dependency_path: '**/pnpm-lock.yaml' - run: pnpm install --offline - run: pnpm lint test: name: Test needs: [lint] runs-on: ${{ fromJSON(vars.RUNNER) }} timeout-minutes: 15 steps: - uses: browser-actions/setup-chrome@2e1d749697dd1612b833dba4a722266286fbefcd # v2.1.2 with: install-dependencies: true - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 24 - uses: pnpm/action-setup@0e279bb959325dab635dd2c09392533439d90093 #v6.0.8 with: run_install: false cache: true cache_dependency_path: '**/pnpm-lock.yaml' - run: pnpm install --offline - run: pnpm test