Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Major refactor of config classes and config include logic (#214)
**BREAKING CHANGE:** included config now loads envfiles relative to the cwd specified on the include option (if any). New/updated special env vars: - POE_CONF_DIR: the path to the dir containing the config file that defines the running task or the cwd set when including the config - POE_DEBUG makes poe print more stuff to help with debugging Refactor specifics: - Introduce PoeOptions class for deserializing config. I would have used pydantic but it's too heavy for use in a CLI tool like this. - Keep config from different files separate within PoeConfig - Collect config validation logic in the config classes and declare config types in more detail - Make error reporting more structured and consistent Also: - Fixed bug that caused some task validation to be skipped for tasks with args - Improve consistency and coverage for config validation - Fix crash in switch with args naked string for control - PoeConfig.load will load everything again if called a second time - remove pylint from the project - Enable ANSI color output by default inside GitHub Actions
- Loading branch information