Skip to content

chore: Improve code style checks #1119

chore: Improve code style checks

chore: Improve code style checks #1119

Workflow file for this run

name: Code Style
on:
push:
jobs:
# Flake 8 for basic code style checks
flake8:
name: Flake 8
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install Flake8 (7.1.0)
run: |
python -m pip install --upgrade pip
pip install flake8==7.1.0
- name: Install dependencies
run: |
ROOT=$(pwd)
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
cd "$ROOT/packages/$package"
pip install -r requirements.txt
make local-deps
echo "================================================="
done
- name: Install package
run: |
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
pip install packages/$package
rm -rf packages/$package/build
echo "================================================="
done
- name: Lint with flake8
run: |
flake8 packages --count --select=E9,F63,F7,F82 --show-source --statistics
flake8 packages --count --max-complexity=12 --max-line-length=130 --statistics
# Typing checks with MyPy
typing:
name: Typing
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install MyPy (1.11.2)
run: |
python -m pip install --upgrade pip
pip install mypy==1.11.2
- name: Install dependencies
run: |
ROOT=$(pwd)
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
cd "$ROOT/packages/$package"
pip install -r requirements.txt
make local-deps
echo "================================================="
done
- name: Install packages
run: |
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
pip install packages/$package
rm -rf packages/$package/build
echo "================================================="
done
- name: Check typing with MyPy
run: |
mypy --install-types --ignore-missing-imports \
--check-untyped-defs --non-interactive \
packages/*/dsw
# Consistency of version tagging
version:
name: Version consts.py
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check dsw-data-seeder
run: |
bash scripts/check-version.sh \
packages/dsw-data-seeder/dsw/data_seeder/consts.py \
packages/dsw-data-seeder/pyproject.toml
- name: Check dsw-document-worker
run: |
bash scripts/check-version.sh \
packages/dsw-document-worker/dsw/document_worker/consts.py \
packages/dsw-document-worker/pyproject.toml
- name: Check dsw-mailer
run: |
bash scripts/check-version.sh \
packages/dsw-mailer/dsw/mailer/consts.py \
packages/dsw-mailer/pyproject.toml
- name: Check dsw-tdk
run: |
bash scripts/check-version.sh \
packages/dsw-tdk/dsw/tdk/consts.py \
packages/dsw-tdk/pyproject.toml
# Pylint
pylint:
name: Pylint
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.12
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install PyLint (3.2.5)
run: |
python -m pip install --upgrade pip
pip install pylint==3.2.5
- name: Install dependencies
run: |
ROOT=$(pwd)
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
cd "$ROOT/packages/$package"
pip install -r requirements.txt
make local-deps
echo "================================================="
done
- name: Install packages
run: |
for package in $(ls packages); do
echo "-------------------------------------------------"
echo "- $package"
echo "-------------------------------------------------"
pip install packages/$package
rm -rf packages/$package/build
echo "================================================="
done
- name: Lint with PyLint
run: |
pylint --rcfile=.pylintrc.ini packages/*/dsw