name: Code check on: push: branches: [master, "release/*"] pull_request: branches: [master, "release/*"] paths: - ".actions/**" - ".github/workflows/code-checks.yml" - "requirements/**" - "src/**" - "pyproject.toml" # includes mypy config - "!requirements/docs.txt" - "!requirements/*/docs.txt" - "!*.md" - "!**/*.md" concurrency: group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref }} cancel-in-progress: ${{ ! (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/heads/release/')) }} defaults: run: shell: bash jobs: mypy: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 with: python-version: '3.10.6' - name: Mypy cache uses: actions/cache@v3 with: path: .mypy_cache key: mypy-${{ hashFiles('requirements/typing.txt') }} - name: Install dependencies env: FREEZE_REQUIREMENTS: 1 run: | pip install -e '.[all]' -r requirements/typing.txt pip list - name: Check typing run: mypy