name: Validate Monorepo on: pull_request jobs: dependencies: name: Install dependencies runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: node-modules-cache with: path: '**/node_modules' key: node-modules-${{ hashFiles('**/yarn.lock') }} restore-keys: | node-modules- - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: node-version: 16 - run: yarn install compliance: name: License Compliance needs: [dependencies] runs-on: ubuntu-latest steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: node-modules-cache with: path: '**/node_modules' key: node-modules-${{ hashFiles('**/yarn.lock') }} restore-keys: | node-modules- - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: node-version: 16 - run: yarn run compliance:licenses lint: name: Lint needs: [dependencies, compliance] runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: node-modules-cache with: path: '**/node_modules' key: node-modules-${{ hashFiles('**/yarn.lock') }} restore-keys: | node-modules- - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: node-version: 16 - run: yarn lint test: name: Test needs: [lint] runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 id: node-modules-cache with: path: '**/node_modules' key: node-modules-${{ hashFiles('**/yarn.lock') }} - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 with: node-version: 16 - run: yarn test