Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Major refactor of config classes a and config include logic #214

Merged
merged 1 commit into from
Apr 20, 2024

Commits on Apr 20, 2024

  1. Major refactor of config classes a and config include logic

    **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
    nat-n committed Apr 20, 2024
    Configuration menu
    Copy the full SHA
    72385ec View commit details
    Browse the repository at this point in the history