Skip to content

Merge pull request #378 from ds-wizard/hotfix/4.28.4 #1718

Merge pull request #378 from ds-wizard/hotfix/4.28.4

Merge pull request #378 from ds-wizard/hotfix/4.28.4 #1718

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@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.13
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install Flake8 (7.3.0)
run: |
python -m pip install --upgrade pip
pip install flake8==7.3.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
# Consistency of version tagging
version:
name: Version consts.py
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- 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@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: 3.13
cache: pip
cache-dependency-path: |
**/pyproject.toml
**/requirements*.txt
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install PyLint (3.3.7)
run: |
python -m pip install --upgrade pip
pip install pylint==3.3.7
- 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
# CSpell
cspell:
name: CSpell
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Set up Node.js
uses: actions/setup-node@v6
with:
node-version: '24'
- name: Install CSpell
run: |
npm install -g cspell @cspell/dict-python
- name: Run CSpell
run: |
cspell \
--no-progress \
--no-summary \
--config .cspell/cspell.json \
packages/**/*.py \
packages/**/*.md \
packages/**/*.json \
packages/**/*.toml \
packages/**/*.yml \
packages/**/*.yaml
# Ruff
ruff:
name: Ruff
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install the project
run: uv sync --locked --all-extras --all-packages --no-install-project --dev
- name: Run Ruff
run: |
uv run ruff check
# Ty
ty:
name: Ty
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v6
- name: Install uv
uses: astral-sh/setup-uv@v7
- name: Create build info
run: |
bash scripts/build-info.sh
- name: Install the project
run: uv sync --locked --all-extras --all-packages --no-install-project --dev
- name: Run Ruff
run: |
uv run ty check