name: CI on: pull_request: branches: - '*' push: branches: - '*' jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Use Node.js 16.x uses: actions/setup-node@v3.6.0 with: node-version: 16.x - name: Cache Node.js modules uses: actions/cache@v3 with: path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS key: ${{ runner.OS }}-node-16.x-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.OS }}-node-16.x ${{ runner.OS }}- - name: Install dependencies run: yarn install --frozen-lockfile - name: Lint the code run: npm run lint --if-present build: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3.6.0 with: node-version: ${{ matrix.node-version }} - name: Cache Node.js modules uses: actions/cache@v3 with: path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS key: ${{ runner.OS }}-node-${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.OS }}-node-${{ matrix.node-version }} ${{ runner.OS }}- - name: Install dependencies run: yarn install --frozen-lockfile - name: Build the project run: npm run build --if-present