From 5319726cbad7c9cc69e9aca0e6ba366151880dbf Mon Sep 17 00:00:00 2001 From: Carlos Alcaide Corvo Date: Tue, 15 Mar 2022 13:27:39 -0500 Subject: [PATCH] =?UTF-8?q?chore:=20=F0=9F=A4=96=20Refactor=20cache=20for?= =?UTF-8?q?=20dependencies=20within=20CI=20(#1022)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refactor CI: - Refactor the usage of cache. - Add a step to deal with npm dependencies. The rest of the steps will assume dependencies are available. --- .github/workflows/monorepo-validate.yaml | 53 +++++++++++++++++------- 1 file changed, 37 insertions(+), 16 deletions(-) diff --git a/.github/workflows/monorepo-validate.yaml b/.github/workflows/monorepo-validate.yaml index ccc8ec4c2..995a113c0 100644 --- a/.github/workflows/monorepo-validate.yaml +++ b/.github/workflows/monorepo-validate.yaml @@ -2,55 +2,76 @@ name: Validate Monorepo on: pull_request jobs: - compliance: - name: License Compliance + dependencies: + name: Install dependencies runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 - id: cache + id: node-modules-cache with: path: '**/node_modules' - key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} - - uses: actions/setup-node@v1 + key: node-modules-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + node-modules- + - uses: actions/setup-node@v2 with: node-version: '16.x' - run: yarn install - if: steps.cache.outputs.cache-hit != 'true' + + compliance: + name: License Compliance + needs: [dependencies] + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + id: node-modules-cache + with: + path: '**/node_modules' + key: node-modules-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + node-modules- + - uses: actions/setup-node@v2 + with: + node-version: '16.x' + if: steps.node-modules-cache.outputs.cache-hit != 'true' - run: yarn run compliance:licenses lint: name: Lint + needs: [dependencies] runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 - id: cache + id: node-modules-cache with: path: '**/node_modules' - key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} - - uses: actions/setup-node@v1 + key: node-modules-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + node-modules- + - uses: actions/setup-node@v2 with: node-version: '16.x' - - run: yarn install - if: steps.cache.outputs.cache-hit != 'true' + if: steps.node-modules-cache.outputs.cache-hit != 'true' - run: yarn lint test: name: Test + needs: [dependencies] runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v2 - uses: actions/cache@v2 - id: cache + id: node-modules-cache with: path: '**/node_modules' - key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} - - uses: actions/setup-node@v1 + key: node-modules-${{ hashFiles('**/yarn.lock') }} + - uses: actions/setup-node@v2 with: node-version: '16.x' - - run: yarn install - if: steps.cache.outputs.cache-hit != 'true' + if: steps.node-modules-cache.outputs.cache-hit != 'true' - run: yarn test