name: Validate Monorepo on: pull_request jobs: dependencies: name: Install dependencies runs-on: ${{ fromJSON(vars.RUNNER) }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #v4.2.0 with: run_install: false - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: node-version: 20 cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - run: pnpm install --frozen-lockfile compliance: name: License Compliance needs: [dependencies] runs-on: ${{ fromJSON(vars.RUNNER) }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #v4.2.0 with: run_install: false - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: node-version: 20 cache: 'pnpm' 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@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #v4.2.0 with: run_install: false - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: node-version: 20 cache: 'pnpm' 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@b94431e051d1c52dcbe9a7092a4f10f827795416 # v2.1.0 with: install-dependencies: true - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 - uses: pnpm/action-setup@41ff72655975bd51cab0327fa583b6e92b6d3061 #v4.2.0 with: run_install: false - uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0 with: node-version: 20 cache: 'pnpm' cache-dependency-path: '**/pnpm-lock.yaml' - run: pnpm install --offline - run: pnpm test