lightning/.github/workflows/code-checks.yml

70 lines
2.0 KiB
YAML

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'
# Note: This uses an internal pip API and may not always work
# https://github.com/actions/cache/blob/master/examples.md#multiple-oss-in-a-workflow
- name: Cache pip
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('requirements/pytorch/base.txt') }}
restore-keys: pip-
enableCrossOsArchive: true
- name: Install dependencies
run: |
pip install mypy==0.982 # TODO: pull this verion deom requirements/test.txt
pip install torch==1.12 --find-links https://download.pytorch.org/whl/cpu/torch_stable.html
python ./requirements/pytorch/adjust-versions.py requirements/pytorch/extra.txt
# todo: adjust requirements for both code-bases
pip install \
-r requirements/fabric/base.txt \
-r requirements/pytorch/base.txt \
-r requirements/pytorch/extra.txt \
-r requirements/app/base.txt \
-r requirements/app/cloud.txt \
-r requirements/app/ui.txt \
--find-links https://download.pytorch.org/whl/cpu/torch_stable.html
pip list
- name: Build package
run: python setup.py build
- name: Check typing
run: |
mkdir .mypy_cache
mypy