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

Feature: Preflight Checks for Project Execution #91

Closed
aweris opened this issue Aug 23, 2023 · 1 comment
Closed

Feature: Preflight Checks for Project Execution #91

aweris opened this issue Aug 23, 2023 · 1 comment
Labels
enhancement New feature or request feature

Comments

@aweris
Copy link
Owner

aweris commented Aug 23, 2023

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 using pwsh 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:

  1. 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.

  2. 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.

  3. 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.

@aweris
Copy link
Owner Author

aweris commented Aug 28, 2023

This feature will be added to the next release as a hidden command and the output will be similar to

validate

We could use this first experimental iteration to improve checks.

@aweris aweris closed this as completed Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature
Projects
None yet
Development

No branches or pull requests

1 participant