name: CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: strategy: matrix: node-version: [12.x] runs-on: ubuntu-latest steps: - name: Check out branch uses: actions/checkout@v4 - name: Get npm cache directory id: npm-cache-dir run: | echo "::set-output name=dir::$(npm config get cache)" - uses: actions/cache@v2 id: npm-cache # use this to check for `cache-hit` ==> if: steps.npm-cache.outputs.cache-hit != 'true' with: path: ${{ steps.npm-cache-dir.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Get yarn cache directory path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - uses: actions/cache@v2 id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Install Dependencies if: steps.npm-cache.outputs.cache-hit != 'true' run: npm install - name: Install Dependencies if: steps.yarn-cache.outputs.cache-hit != 'true' run: yarn --frozen-lockfile - name: Build run: | yarn build