DeepBlockDeepak / kaggle_titanic

Titanic Survivor Predictor: A multiple machine learning model project to forecast survival outcomes of Titanic passengers. Engineered from historical data, refined with feature selection, tested with CI/CD, and outputs validation metrics.
https://www.kaggle.com/c/titanic
1 stars 0 forks source link

Streamline CI/CD Workflows #22

Closed DeepBlockDeepak closed 6 months ago

DeepBlockDeepak commented 6 months ago

Overview

Adding consistency and efficiency to Dev + CI/CD processes, pyproject.toml and .github/workflows/main.yml need to be updated to better integrate Poetry's capabilities with existing GitHub Actions workflow. This will simplify running tests, linting, and formatting (both locally and in CI/CD too).

Tasks

pyproject.toml Updates -> :

.github/workflows/main.yml Updates -> :

README and CONTRIBUTING Updates -> :

Benefits :

Concerns :

Action :

DeepBlockDeepak commented 6 months ago

ADDITIONAL UPDATE TO MAKE #22 Possible. I've restructured the project into a proper Python package to resolve issues with running poetry scripts as defined in pyproject.toml's tools.poetry.scripts. This reorganization was necessary for poetry to correctly recognize and execute the custom dev_tools scripts for formatting, linting, and testing. The restructuring involved creating a new package directory, kaggle_titanic, within src, moving relevant modules into this package, and updating import paths accordingly. As a result, commands like poetry run format, poetry run lint, poetry run test, and poetry run all-checks now function as intended, streamlining development workflow significantly.