name: Lint on: push: branches: - main pull_request: branches: - main jobs: run-linters: name: Run linters runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Set up node uses: actions/setup-node@v2 with: node-version: 14 registry-url: https://registry.npmjs.org - 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 run: yarn install --frozen-lockfile - name: Run eslint w/ autofix if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login == github.repository_owner }} uses: wearerequired/lint-action@36c7e6689e80d785d27a22f71d970f3a3b4fcb70 with: github_token: ${{ secrets.github_token }} eslint: true eslint_args: "-c .eslintrc.json" auto_fix: true - name: Run eslint if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.owner.login != github.repository_owner }} run: yarn eslint .