.github/workflows/lint.yml

Summary

Maintainability
Test Coverage
name: Lint Checks
on:
  merge_group:
    types: [checks_requested]
  push:
    branches:
      - develop
      - release-*
  pull_request:
    branches:
      - develop
      - release-*

jobs:
  lint:
    runs-on:  ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-22.04]
        shard: ['other']
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: '3.8.15'
          architecture: 'x64'
          cache: 'pip'
          cache-dependency-path: |
            requirements.in
            requirements.txt
            requirements_dev.in
            requirements_dev.txt
      - uses: ./.github/actions/merge
      - name: Cache node modules and third_party/static
        uses: actions/cache@v3
        env:
          cache-name: cache-node-modules
        with:
          path: |
            /home/runner/work/oppia/yarn_cache
            /home/runner/work/oppia/oppia/third_party/static
          key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('yarn.lock', 'dependencies.json') }}
          restore-keys: |
            ${{ runner.os }}-build-${{ env.cache-name }}-
            ${{ runner.os }}-build-
            ${{ runner.os }}-
      - uses: ./.github/actions/install-oppia-dependencies
      - name: Third Party Size Check
        if: startsWith(github.head_ref, 'update-changelog-for-release') == false
        run: python -m scripts.third_party_size_check
      - name: Run Lint Checks
        if: startsWith(github.head_ref, 'update-changelog-for-release') == false
        run: PYTHONIOENCODING=utf-8 python -m scripts.linters.run_lint_checks --shard ${{ matrix.shard }} --verbose
      - name: Report failure if failed on oppia/oppia develop branch
        if: ${{ failure() && github.event_name == 'push' && github.repository == 'oppia/oppia' && github.ref == 'refs/heads/develop'}}
        uses: ./.github/actions/send-webhook-notification
        with:
          message: "Lint checks failed on the upstream develop branch."
          webhook-url: ${{ secrets.BUILD_FAILURE_ROOM_WEBHOOK_URL }}