-
Notifications
You must be signed in to change notification settings - Fork 4
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
Feature: Preflight Checks for Project Execution #91
Labels
Comments
This was referenced Aug 23, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description:
Given the intricacy of the project and the multitude of dependencies and moving components, troubleshooting and discerning meaningful messages from errors is increasingly challenging. To enhance the user experience, there's a necessity for a system of preflight checks that ensures all prerequisites are met before the primary execution of tasks or features.
Problem:
Some examples of current complications include:
Runner Image Dependencies: Our project assumes that the runner image contains all required binaries. For instance, if
pwsh
is missing, any GitHub action step usingpwsh
as a shell will fail.Features Still in Development: There are instances where we inadvertently run workflows that rely on incomplete or in-development features, leading to unforeseen errors or behaviors.
Local Configurations: Our tool requires specific configurations from the localhost. Any misconfiguration or oversight can result in unexpected issues.
Proposed Solution:
Introduce a
validate
Command (or Flag): A new command or flag for the run command, such as--validate
, could be introduced. When invoked, this would execute a series of preflight checks and report any issues or missing dependencies.Graceful Failure: In scenarios where the requirements are not met, the tool should provide a clear and helpful error message pointing the user to potential resolutions. This approach ensures that any failures happen gracefully and informatively.
Extensible Checks: As the project grows, new checks might be needed. The preflight system should be built in a way that allows for easy additions or modifications to the checks performed.
Expected Benefits:
Improved User Experience: By eliminating potential pitfalls before they occur, users have a smoother and more intuitive experience.
Reduced Troubleshooting Overhead: By preemptively identifying and addressing common issues, there will likely be fewer support inquiries and bug reports related to setup and configuration issues.
Enhanced Reliability: A project that can self-diagnose and provide feedback on its readiness is generally perceived as more robust and dependable.
The text was updated successfully, but these errors were encountered: