# This is a basic workflow to help you get started with Actions # some parts are taken from here: https://github.com/ternaus/iglovikov_helper_functions/blob/master/.github/workflows/ci.yml name: CI # Controls when the action will run. Triggers the workflow on push or pull request # events but only for the master branch on: push: branches: [ master ] pull_request: branches: [ master ] # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: # This workflow contains a single job called "build" build: # The type of runner that the job will run on runs-on: ubuntu-latest # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.9.15' - name: Cache pip uses: actions/cache@v1 with: path: ~/.cache/pip # This path is specific to Ubuntu # Look to see if there is a cache hit for the corresponding requirements file key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }} restore-keys: | ${{ runner.os }}-pip- ${{ runner.os }}- # You can test your matrix by printing the current Python version - name: Display Python version run: python -c "import sys; print(sys.version)" - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements.txt pip install black flake8 mypy pytest - name: Run black run: black --check . - name: Run flake8 run: flake8 - name: Run Mypy run: mypy --ignore-missing-imports --warn-no-return --warn-redundant-casts --disallow-incomplete-defs . - name: tests run: pytest