chore: add project smoke tests into dedicated workflow#13060
Conversation
- Added ContinueOnError boolean field to SafeOutputsConfig struct - Updated safe_outputs_config.go to parse continue-on-error from frontmatter - Modified project handler registry to pass continue_on_error flag to each handler - Updated safe_output_project_handler_manager.cjs to respect continue_on_error - When true, failures are logged as warnings instead of calling core.setFailed() - Added continue-on-error field to main_workflow_schema.json - Updated smoke-copilot workflow to use continue-on-error: true - Recompiled smoke-copilot workflow with new configuration Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
- Added safe_outputs_continue_on_error_test.go with unit tests - Tests cover: enabled, disabled, default, and multiple handlers - Includes full compilation test to verify config in lock file - All tests passing successfully Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
- Updated TestCreateProjectStatusUpdateHandlerConfigLoadedByManager - Test now expects continue_on_error field in project handler config - Changed from exact JSON match to separate assertions for handler and max value - All tests passing successfully Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
- Use t.TempDir() instead of hardcoded /tmp paths for cross-platform compatibility - Add proper @typedef for ProjectHandlerConfig return type in JSDoc - Tests still passing with portable temp directory usage Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
|
@mnkiefer move project negative test to a new smoke-project workflow, keep smoke-copilot minimal and have it update an existing project. |
I had that initially but closed the PR in favor of adding it here. Will re-add now and split. |
|
@copilot For all project related smoke tests, move them to a new files |
|
keep a very simple use of update-project in smoke-copilot on an existing project . To trigger code generation and test the project token is configured properly |
Ok, but in this I'd still use a separate org for this for testing only, where I've created a project board just for this purpose. I've added a new token |
- Created new smoke-project.md workflow for project operations testing - Uses real project: https://github.com/orgs/github-agentic-workflows/projects/1 - Configured to use SMOKE_PROJECT_GITHUB_TOKEN secret for authentication - Removed all project-related tests from smoke-copilot.md - Removed continue-on-error configuration from smoke-copilot (no longer needed) - Removed project field and send-slack-message job from smoke-copilot - smoke-copilot now focuses on core engine validation only - Both workflows compile successfully and tests pass Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Done in commit d76d739. Created new |
|
@copilot Keep a very simple use of |
- Added project URL to smoke-copilot frontmatter: https://github.com/orgs/github-agentic-workflows/projects/1 - Added update-project safe-output with max: 1 and SMOKE_PROJECT_GITHUB_TOKEN - Added test #9: Simple Project Operation Testing - Tests basic project operation to verify token and configuration work - Keeps smoke-copilot comprehensive while smoke-project has extensive testing Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Done in commit b77e92b. Added simple |
@pelikhan For smoke-copilot testing, I've now referenced |
|
@copilot recompile workflows |
- Recompiled smoke-copilot.lock.yml to reflect changes from ea4e153 - Now uses githubnext org project 146 (https://github.com/orgs/githubnext/projects/146) - Creates issues in githubnext/gh-aw repo (target-repo) - Uses GH_AW_PROJECT_GITHUB_TOKEN instead of SMOKE_PROJECT_GITHUB_TOKEN - All changes made by mnkiefer to keep testing in this repo for shorter inner loop Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
|
@copilot Only keep smoke-project file and revert the rest. |
- Reverted pkg/workflow/compiler_types.go (removed ContinueOnError field) - Reverted pkg/workflow/safe_outputs_config.go (removed parsing) - Reverted pkg/workflow/compiler_safe_outputs_config.go (removed handler registry changes) - Reverted pkg/parser/schemas/main_workflow_schema.json (removed schema field) - Reverted actions/setup/js/safe_output_project_handler_manager.cjs (removed JS implementation) - Reverted pkg/workflow/create_project_status_update_handler_config_test.go (restored original test) - Deleted pkg/workflow/safe_outputs_continue_on_error_test.go (removed new tests) - Reverted .github/workflows/smoke-copilot.md to original state (with nonexistent project) - Recompiled smoke-copilot.lock.yml - KEPT: smoke-project.md and smoke-project.lock.yml (new dedicated workflow) Result: Only the smoke-project workflow split remains from this PR Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Done in commit 99fbbbd. Reverted all continue-on-error feature implementation (Go backend, JavaScript runtime, schema, tests). Only kept the new |
|
@copilot only keep changes in this pr to smoke-project.md and its compiled version, unstage/revert everything else. |
- Removed project field from frontmatter - Removed update-project configuration from safe-outputs - Removed create-project-status-update configuration - Removed send-slack-message custom job - Removed test sections 9 and 10 (project operations and scoping tests) - Removed send_slack_message reference from output section - Reverted smoke-copilot.md and .lock.yml to main branch state - smoke-copilot now has NO project-related tests - ONLY smoke-project.md and smoke-project.lock.yml remain as changes in this PR Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
Done in commit 82a7eec. Only |
Smoke test workflows were failing when testing project operations with fake/nonexistent organizations and projects. This PR splits project testing into a dedicated workflow that uses real infrastructure.
Changes
New
smoke-project.mdworkflow:https://github.com/orgs/github-agentic-workflows/projects/1SMOKE_PROJECT_GITHUB_TOKENsecretsmoke-copilot.md workflow:
Benefits
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.