Skip to content

Bump scikit-learn from 1.6.0 to 1.7.2 #287

Bump scikit-learn from 1.6.0 to 1.7.2

Bump scikit-learn from 1.6.0 to 1.7.2 #287

Workflow file for this run

name: CI-Pipeline
on:
pull_request:
branches: [ main ]
push:
branches: [ main ]
jobs:
codequality:
name: Code Quality
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11.3'
cache: 'poetry'
- name: Install Dependencies
run: |
poetry install
- name: Remove Unused Imports and Variables (autoflake)
run: poetry run autoflake --remove-all-unused-imports --remove-unused-variables --in-place --check -r .
- name: Import Sorting (isort)
run: poetry run isort --diff --check ./src
- name: Docstring Formatter (pydocstringformatter)
run: poetry run pydocstringformatter --exit-code ./src
- name: Code Formatter (black)
run: poetry run black --check --diff ./src
- name: Static Code Analysis 1/2 (pylint)
run: poetry run pylint ./src
- name: Static Code Analysis 2/2 (ruff)
run: poetry run ruff check ./src
# - name: Static Type Checker (mypy)
# run: poetry run mypy ./src
- name: Security Linter (bandit)
run: poetry run bandit --ini .bandit -r ./src
- name: YAML file Checker
run: poetry run pre-commit run check-yaml --all-files
- name: End-of-File Fixer
run: poetry run pre-commit run end-of-file-fixer --all-files
- name: Trailing Whitespace Checker
run: poetry run pre-commit run trailing-whitespace --all-files
testing:
name: Testing
runs-on: ubuntu-latest
needs: codequality # Ensure it runs after codequality
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Install poetry
run: pipx install poetry
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11.3'
cache: 'poetry'
- name: Install Dependencies
run: |
poetry install
- name: Run Unit Tests (pytest)
run: |
poetry run pytest tests
- name: Run Coverage (pytest-cov)
run: |
poetry run pytest tests --cov=src --cov-report=xml --cov-report=term --cov-report=html --cov-fail-under=5
- name: Upload Coverage Reports
uses: actions/upload-artifact@v4
with:
name: coverage-reports
path: |
./build/coverage.html/**
./build/coverage.xml
# validation:
# name: Validation
# runs-on: ubuntu-latest
# needs: testing
# steps:
# - name: Checkout Code
# uses: actions/checkout@v4
#
# - name: Install poetry
# run: pipx install poetry
#
# - name: Set up Python
# uses: actions/setup-python@v5
# with:
# python-version: '3.11.3'
# cache: 'poetry'
#
# - name: Install Dependencies
# run: |
# poetry install
#
# - name: Run Validation
# run: |
# poetry run python src/main.py --config config_default.yml --mode inference
#
# - name: Upload Logs
# uses: actions/upload-artifact@v4
# with:
# name: validation_logs
# path: ./logs/**
#
# - name: Upload Output
# uses: actions/upload-artifact@v4
# with:
# name: validation_output
# path: ./output/**
# deploy_docker:
# name: Deployment (Docker)
# runs-on: ubuntu-latest
# needs: testing
# steps:
# - name: Checkout Code
# uses: actions/checkout@v4
#
# - name: Build Docker Image
# run: docker build -t mnmkit:latest -f ./docker/Dockerfile .
#
# - name: Run Docker Image
# run: |
# docker run --rm \
# -v ./output:/output \
# -v ./data:/data \
# -v ./logs:/logs \
# -v ./models:/models \
# -v ./config:/config \
# mnmkit:latest \
# --config config_default.yml --mode inference
#
# - name: Upload Logs
# uses: actions/upload-artifact@v4
# with:
# name: deploy_docker_logs
# path: ./logs/**
#
# - name: Upload Output
# uses: actions/upload-artifact@v4
# with:
# name: deploy_docker_output
# path: ./output/**