From ab92811e13a9c3567e5ef5c7fd713f20bd6d3476 Mon Sep 17 00:00:00 2001 From: Robin Malfait Date: Mon, 3 May 2021 13:12:23 +0200 Subject: [PATCH] parallelize GitHub actions (#463) --- .github/workflows/main.yml | 60 ++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 15b6f77..c61462c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,43 +1,73 @@ name: CI + on: [push] + +env: + NODE_VERSION: 12.x + jobs: - build: + install: runs-on: ubuntu-latest steps: - name: Begin CI... uses: actions/checkout@v2 - - - name: Use Node 12 + - name: Use Node ${{ env.NODE_VERSION }} uses: actions/setup-node@v2 with: - node-version: 12 - - # - name: Use cached node_modules - # id: cache - # uses: actions/cache@v2 - # with: - # path: node_modules - # key: nodeModules-${{ hashFiles('**/yarn.lock') }} - # restore-keys: | - # nodeModules- - + node-version: ${{ env.NODE_VERSION }} + - uses: actions/cache@v2 + with: + path: '**/node_modules' + key: ${{ runner.os }}-${{ env.NODE_VERSION }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Install dependencies - # if: steps.cache.outputs.cache-hit != 'true' run: yarn install --frozen-lockfile env: CI: true + lint: + runs-on: ubuntu-latest + needs: [install] + + steps: + - name: Begin CI... + uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: '**/node_modules' + key: ${{ runner.os }}-${{ env.NODE_VERSION }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Lint run: yarn lint env: CI: true + test: + runs-on: ubuntu-latest + needs: [install] + + steps: + - name: Begin CI... + uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: '**/node_modules' + key: ${{ runner.os }}-${{ env.NODE_VERSION }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Test run: yarn test env: CI: true + build: + runs-on: ubuntu-latest + needs: [install] + + steps: + - name: Begin CI... + uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: '**/node_modules' + key: ${{ runner.os }}-${{ env.NODE_VERSION }}-modules-${{ hashFiles('**/yarn.lock') }} - name: Build run: yarn build env: