-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Feature: Tool Enhancements #24
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Bump project version to 0.4.0 and introduce `InstallationStatus` enum to track installation states. Add `should_rollback` function and use it to selectively roll back installations on failure. Enhance tests with parameterized testing for rollback functionality.
Incorporate support for alternative tool installations via 'alt' and 'mode' attributes. Update relevant tests, schemas, and configuration files accordingly.
Adjusted the installation process for optional tools to support user input and assumptions for automated workflows. Also included a version bump to 0.4.2 and updated test scenarios accordingly.
Modified `starter2.yaml` to include an echo statement in the `init` script. Updated `test_starterfile_parser.py` to align tests with the new script content. This ensures the init script reflects the intended behavior during tests.
This commit introduces a new test file, `test_module_with_monitoring.py`, which adds tests for the initialization and destruction processes in `Module`, `ScriptModule`, and `GitModule` classes. These tests utilize various mocking strategies to ensure subprocess interactions are properly monitored.
Replace explicit TypeError raises with implicit ValueError from get_script calls to streamline the module creation process. This reduces redundant error-handling code while maintaining functionality.
Introduced new unit tests for the `is_yaml_loadable_type` function to ensure it correctly handles various data types and raises a `SchemaError` for unloadable types. Included tests for strings, integers, floats, booleans, lists, dictionaries, and `None`. Used pytest for exception handling in the test case for unloadable types.
I know I've said this before, but I think that you should really be able to use: Linux/MacOScd /tmp
python -m venv .venv
source .venv/bin/activate
pip install typer schema pyyaml requests python-dotenv rich parameterized pytest pytest-cov
pip install -i https://test.pypi.org/simple/ startout==0.4.3 Windowscd /tmp
python -m venv .venv
.venv/Scripts/activate
pip install typer schema pyyaml requests python-dotenv rich parameterized pytest pytest-cov
pip install -i https://test.pypi.org/simple/ startout==0.4.3 to test this version, it is available on Python 3.8-3.12 |
Gehrkej
reviewed
Aug 23, 2024
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.
That's interesting, I'll look into it |
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Tool Enhancements
Description
🧰🤔 Tool Installation Modes: Tools were given more granular control over how they are installed:
alt
: Allows Path designers to specify a "backup" choice for when a Tool fails to install for any reason.mode
:install
(Default): Tool is installed as usualoptional
: User is prompted y/N to install the Toolas_alt
: Tool is only installed if it is specified as an alt for a tool that fails to install🧱🏠 Don't Uninstall Me, bro! Tools which were already installed will not be uninstalled during the rollback step of Tool installation.
Definition of Done