-
Notifications
You must be signed in to change notification settings - Fork 0
refactor(action.yml, README.md, workflows, scripts): transition from … #12
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
base: main
Are you sure you want to change the base?
Conversation
…Gemini to ForgeCode integration - Updated action.yml to replace Gemini model references with ForgeCode and added support for multiple LLM providers (OpenRouter, OpenAI, Anthropic). - Modified README.md to reflect the new AI provider options and updated features. - Introduced new scripts for provider setup and validation, ensuring compatibility with the ForgeCode CLI. - Enhanced workflows to utilize the new provider and model inputs, streamlining the validation process. - Added local testing script for easier validation before pushing changes to GitHub Actions.
…rkflows - Changed default model from 'openai/gpt-oss-120b' to 'anthropic/claude-haiku-4.5' across action.yml, README.md, and various workflow files. - Updated comments and documentation to reflect the new default model and its options for better clarity and user guidance.
…Code - Removed the creation of a temporary configuration file and instead directly added the Usable MCP server using the official @usabledev/mcp-server package. - Enhanced the script to remove any existing usable MCP server to avoid duplicates before adding the new server. - Updated output messages to reflect the new configuration process and provide clearer feedback on the setup status.
🤖 Documentation ValidationPR Validation ReportSummaryDocumentation refactoring from Gemini to ForgeCode integration reveals several incomplete updates. The README and action.yml files contain outdated references to removed inputs and deprecated secrets, creating inconsistency between documented and actual implementation. Override Applied 🔄A deviation from standards has been approved and documented:
This deviation has been recorded in the knowledge base for future reference. Critical Violations ❌
Important Issues
|
🤖 Integration Test ValidationPR Validation ReportSummaryThis PR (#12) refactors the MCP server configuration mechanism in the usable-pr-validator GitHub Action, transitioning from ForgeCode CLI commands to a direct .mcp.json file configuration approach. The changes improve reliability and security by eliminating unnecessary CLI calls and ensuring proper cleanup of sensitive authentication data. All modifications follow established shell scripting standards and maintain the expected behavior. Override Applied 🔄A deviation from standards has been approved and documented:
This deviation has been recorded in the knowledge base for future reference. Critical Violations ❌None found. Important Issues
|
…neration - Introduced a new JSON schema for the PR validation report, detailing required fields such as summary, critical violations, important issues, suggestions, and validation outcome. - Updated the system prompt to specify the JSON file writing requirements and the structure of the output. - Added a script to construct a markdown report from the generated JSON file, enhancing the clarity and usability of validation results. - Improved the validation script to handle JSON output and ensure proper extraction of report data, including critical and important issues.
…ignore JSON files - Modified the setup-mcp.sh script to use HTTP transport with an Authorization header for adding the Usable MCP server, enhancing security and configuration clarity. - Updated output messages to reflect the new transport method and configuration details. - Added .mcp.json to .gitignore to prevent tracking of sensitive configuration files.
…erver configuration and environment variable handling - Removed deprecated inputs for MCP server URL and token from action.yml, simplifying the configuration. - Updated README.md to reflect changes in environment variable requirements for Usable API integration. - Modified test-local.sh to use the new environment variable structure for local testing. - Adjusted scripts to fetch the Usable API token and URL directly from the environment, enhancing clarity and usability. - Improved output messages in setup-mcp.sh to provide better feedback on the configuration process.
- Updated the status variable assignment in the parse_results function to remove unnecessary local declaration, enhancing script clarity and functionality.
…jobs - Introduced a new step in the validation jobs to verify the Usable MCP connection by listing workspaces. - Added a report section for MCP connection status and workspace availability in the PR validation report. - Enhanced clarity and reliability of the validation process by ensuring the MCP connection is tested before proceeding with other tasks.
…ion jobs - Updated the validation jobs to emphasize the requirement of testing the Usable MCP connection before proceeding with other tasks. - Added detailed instructions for using the `mcp_usable_list-workspaces` tool, including expected outputs and critical validation criteria. - Improved the PR validation report format to include connection verification results, ensuring clarity on workspace accessibility and connection status.
…token after use - Updated the setup-mcp.sh script to create a .mcp.json file for MCP server configuration with authentication details. - Added a cleanup step in action.yml to remove the .mcp.json file after the process to enhance security by eliminating sensitive data.
- Updated README.md to include detailed instructions for running full validation tests and MCP-only connection tests, improving user guidance. - Modified test-local.sh to support a new `--mcp-only` mode for faster MCP connection verification. - Added a new script, test-mcp-connection.sh, to perform comprehensive checks on the MCP connection and output results. - Enhanced GitHub Actions workflow to include a dedicated MCP connection test step, ensuring that the Usable MCP connection is verified during pull request validation. - Improved output messages and result handling for better clarity and usability in testing scenarios.
…onfiguration - Updated README.md to include comprehensive details on automatic MCP integration, including configuration steps and testing instructions. - Modified setup-mcp.sh to improve the .mcp.json file creation process, ensuring it uses the correct environment variables and provides clearer output messages regarding the MCP server setup. - Enhanced documentation to clarify the automatic configuration of the Usable MCP server and the tools available for AI model access during validation.
- Updated test-mcp-connection.sh to include provider configuration setup, improving the testing process. - Modified output to display command and token presence for MCP servers, enhancing clarity on server capabilities. - Added error handling for missing setup-provider.sh, ensuring robust execution of the connection test.
- Introduced a new environment variable `MODEL` in the GitHub Actions workflow for MCP connection testing, defaulting to 'anthropic/claude-haiku-4.5' if not specified. This enhancement allows for more flexible model configuration during testing.
…onfiguration - Added a new environment variable `PROVIDER` to the GitHub Actions workflow for MCP connection testing, defaulting to 'auto' if not specified. - Updated the `test-mcp-connection.sh` script to configure the ForgeCode model based on the `MODEL` variable, preventing interactive prompts during execution. This improves the flexibility and automation of the testing process.
…n testing - Added Node.js setup step in the GitHub Actions workflow to ensure compatibility with the latest features. - Included verification steps for the MCP server package and configuration in the workflow, improving reliability during testing. - Updated the test-mcp-connection.sh script to manually start the MCP server and verify its functionality, enhancing the robustness of the connection tests.
…CP server testing - Introduced new environment variables `USABLE_API_TOKEN` and `USABLE_URL` in the GitHub Actions workflow to facilitate better MCP server connection testing. - Updated the `test-mcp-connection.sh` script to display the first 20 characters of the `USABLE_API_TOKEN` for verification and improved the manual start process with explicit environment variables. - Enhanced output messages to clarify the testing process and potential issues with environment variable passing.
- Updated the `test-mcp-connection.sh` script to export `USABLE_API_TOKEN` and `USABLE_BASE_URL` as global environment variables for improved MCP server connection testing. - Enhanced output messages to confirm successful export of environment variables, aiding in troubleshooting and clarity during the testing process.
- Enhanced the `test-mcp-connection.sh` script to check for MCP server processes before and during the execution of ForgeCode, providing better visibility into the server's status. - Added output messages to indicate whether MCP server processes are found, improving troubleshooting capabilities during testing. - Modified the execution of ForgeCode to run in the background, allowing for monitoring of the MCP server subprocesses while the test is running.
- Added a step in `setup-mcp.sh` to install `@usabledev/mcp-server` globally for improved startup speed. - Updated output messages to reflect the new command for starting the MCP server, enhancing clarity in the setup process. - Ensured the .mcp.json configuration file is created with the correct server command, streamlining the user experience.
… security - Modified `setup-mcp.sh` to change the command for starting the MCP server to use `npx @usabledev/mcp-server@latest`, ensuring users always run the latest version. - Enhanced the configuration preview to include command arguments and added a new output section to display the full `.mcp.json` content with sensitive tokens masked, improving security and clarity during setup.
…rkflow - Updated the GitHub Actions workflow to improve checks for the .mcp.json configuration file. - Added detailed output for the existence and content of .mcp.json, including masked sensitive tokens, parsed configuration, executed commands, and environment variables. - Implemented error handling for missing .mcp.json file, enhancing robustness and clarity during the testing process.
- Updated `setup-mcp.sh` to remove the `USABLE_BASE_URL` environment variable from the configuration, streamlining the setup process and enhancing security by limiting exposed sensitive information.
…ing workflow - Updated the GitHub Actions workflow to partially mask sensitive tokens in the `.mcp.json` output for enhanced security. - Modified the `test-mcp-connection.sh` script to capture both stdout and stderr separately, providing clearer error reporting and better visibility into MCP initialization. - Added checks for errors in stderr during the MCP server process, improving troubleshooting capabilities.
- Added a newline at the end of the `test-mcp-connection.sh` script to adhere to best practices for shell scripts, improving readability and preventing potential issues in execution.
… script output - Introduced `test-mcp-protocol.sh` to validate MCP server responses to protocol requests over stdio, improving testing capabilities. - Enhanced `test-mcp-connection.sh` to include current working directory and existence check for `.mcp.json`, aiding in troubleshooting and clarity during the testing process.
…and debug logging - Added checks to verify if ForgeCode can see MCP servers in the configuration, improving visibility into server connectivity. - Implemented a longer wait time for MCP initialization to ensure processes are fully started before checks. - Enhanced error reporting by checking stderr for MCP initialization logs and capturing debug logs with RUST_LOG enabled, aiding in troubleshooting. - Improved output handling to display combined output and debug logs, providing clearer insights during testing.
…ut handling - Removed manual MCP server startup checks to simplify the script and focus on ForgeCode's ability to detect MCP servers. - Added a check for available tools before running ForgeCode, improving the initial setup verification. - Implemented verbose output for ForgeCode execution, capturing detailed logs for better troubleshooting. - Updated log checks to search for MCP-related patterns in the output, enhancing error detection and reporting capabilities.
…ibility - Change from stdio subprocess to direct HTTP connection to Usable's MCP API - Avoids stdio buffering/sandboxing issues in GitHub Actions CI environments - Based on Perplexity research showing stdio transport limitations in CI - HTTP transport is more reliable across CI/CD runner boundaries
- Change from headers to env.AUTHORIZATION format for better compatibility - Matches ForgeCode's secure_server streaming HTTP example format - Should work with ForgeCode's HTTP streaming transport handler
- Remove checks for MCP server subprocesses (no subprocess with HTTP) - Remove environment variable exports (not needed for HTTP transport) - Update messages to reflect HTTP transport usage - Simplify test flow for HTTP-based MCP connection - Look for 'http' and 'connect' patterns instead of 'stdio' and 'spawn'
…ing and improved output reporting - Added logic to determine the prompt file to use, supporting both dynamic and static prompts. - Configured ForgeCode model settings if specified, improving flexibility in validation. - Enhanced output reporting by capturing validation results and generating a markdown report from JSON, providing clearer insights into validation outcomes. - Updated the .mcp.json setup to utilize stdio transport via npx for better subprocess control and reliability in CI environments.
- Added a step to refresh the MCP cache prior to running validations, ensuring that the latest configurations are utilized. - Implemented a timeout for the cache refresh process to handle potential delays gracefully, improving overall robustness in the validation workflow.
…stdio transport - Updated the MCP connection testing script to include a cache refresh step before validation, improving reliability by ensuring the latest configurations are used. - Changed the transport method to stdio via npx for better subprocess control and clearer output during testing. - Enhanced output messages to reflect the new transport method and added a timeout for the cache refresh process, improving robustness in CI environments.
- Enhanced the MCP cache refresh logic to provide clearer output messages based on the success or failure of the refresh operation. - Implemented specific handling for timeout scenarios, ensuring that users are informed if the cache refresh times out or fails, which improves the robustness of the validation process. - Added a step to explicitly register the MCP server with ForgeCode during setup, enhancing the configuration process and ensuring better integration.
…ocess - Improved the MCP server registration logic by removing any existing server instance before adding a new one, preventing conflicts. - Updated the cleanup process to include the removal of MCP server registration, ensuring sensitive data is handled securely. - Enhanced output messages for better clarity during the registration and cleanup phases, improving user experience and debugging capabilities.
- Enhanced the MCP cache refresh logic in both action and testing scripts to provide clearer output messages based on the success or failure of the refresh operation. - Implemented specific handling for timeout scenarios and cases where the cache directory does not exist, improving user awareness during the process. - Streamlined error reporting to include the first error message encountered during cache refresh failures, aiding in troubleshooting and debugging.
- Changed the MCP server registration name from 'usable-local' to 'usable' to align with naming conventions. - Updated related output messages to reflect the new server name, ensuring clarity during the registration process. - This change helps maintain consistency in server naming across the setup script.
- Changed the MCP server name from 'usable-local' to 'usable' in both action and testing scripts to ensure uniformity. - Updated output messages to reflect the new server name, enhancing clarity during the connection testing and cleanup processes. - This change aligns with previous updates to maintain consistent naming conventions across the codebase.
…iness - Introduced a 5-second wait before initiating ForgeCode to ensure that the MCP server registration is fully settled. - This change aims to improve the reliability of the connection testing process by allowing sufficient time for server initialization.
…etup script messages - Introduced MCP server configuration in forge.yaml, specifying command and environment variables for the Usable MCP server. - Updated setup-mcp.sh to clarify the MCP server configuration process and the use of environment variables, enhancing user awareness during setup. - Added a backup method for registering the MCP server with ForgeCode CLI, ensuring robustness in server initialization.
…Gemini to ForgeCode integration