-
Notifications
You must be signed in to change notification settings - Fork 75
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
β¨ feat(all): add application-wide configuration manager #892
Conversation
@danceratopz let me know if this needs a changelog entry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good suggestions thanks! I made a further suggestion to help people get started with config below.
As we discussed via DM, we should probably move away from a JSON config at some point. Unless we go with a pydantic-settings setup for gentest's config, but that might be overkill :)
Co-authored-by: danceratopz <danceratopz@gmail.com>
gentest
configuration
gentest
configuration
@danceratopz Let me know where should I document this so the team is aware. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this, really like how this is shaping up! βοΈ A few nits below!
As this config will be limited to But feel free to leave this until to you start work on If you're very motivated, you could add a short explainer under the developer docs: |
I have made the following updates
β― uv run env_init
π§ The configuration file 'execution-spec-tests/env.yaml' already exists. Please update it manually if needed.
FileNotFoundError: The configuration file 'execution-spec-tests/env.yaml' does not exist. Run `uv run env_int` to create it. If this looks okay then I will start documenting it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have made the following updates
....
If this looks okay then I will start documenting it.
Thanks for addressing the nits. Looks great, thanks! Ready for doc.
Co-authored-by: danceratopz <danceratopz@gmail.com>
@danceratopz All done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great! π Thanks a lot for this!
ποΈ Description
This PR introduces a package to manage environment and application configurations.
Environment Configurations
Application-wide environment configuration, which varies across staging, production, and development environments are read from
env.yaml
in the project root.This file will not be tracked by git, making it safe for storing local secrets.
To get started, run the command
env_init
cli to initialize your environment configuration.Usage
1. Generate env file
Run the
env_init
cli tool.which should generate an
env.yaml
in the project root.2. Import
EnvConfig
Application configuration
Application configuration are pydantic classes.
π Related Issues
closes #891, closes #893
β Checklist
mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.