diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml index 3810a693a8..2a674f3141 100644 --- a/.github/workflows/smoke-project.lock.yml +++ b/.github/workflows/smoke-project.lock.yml @@ -26,7 +26,7 @@ # - shared/gh.md # - shared/reporting.md # -# frontmatter-hash: b71cadbca1d82cdc747852953ee1f969eef94ed46e507d218256621ddefa5f74 +# frontmatter-hash: 2d2159d86914a98c8392677ac0a447d335c3f13dc81c97915187a6a8be483ed1 name: "Smoke Project" "on": @@ -200,7 +200,7 @@ jobs: cat > /opt/gh-aw/safeoutputs/tools.json << 'EOF' [ { - "description": "Create a new GitHub issue for tracking bugs, feature requests, or tasks. Use this for actionable work items that need assignment, labeling, and status tracking. For reports, announcements, or status updates that don't require task tracking, use create_discussion instead. CONSTRAINTS: Maximum 1 issue(s) can be created. Issues will be created in repository \"github-agentic-workflows/demo-repository\".", + "description": "Create a new GitHub issue for tracking bugs, feature requests, or tasks. Use this for actionable work items that need assignment, labeling, and status tracking. For reports, announcements, or status updates that don't require task tracking, use create_discussion instead. CONSTRAINTS: Maximum 1 issue(s) can be created.", "inputSchema": { "additionalProperties": false, "properties": { @@ -1663,9 +1663,9 @@ jobs: uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 env: GH_AW_AGENT_OUTPUT: ${{ env.GH_AW_AGENT_OUTPUT }} - GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"hide_older_comments\":true,\"max\":2,\"target-repo\":\"github-agentic-workflows/demo-repository\"},\"add_labels\":{\"allowed\":[\"smoke-project\"],\"target-repo\":\"github-agentic-workflows/demo-repository\"},\"create_issue\":{\"close_older_issues\":true,\"expires\":2,\"group\":true,\"max\":1,\"target-repo\":\"github-agentic-workflows/demo-repository\"},\"create_project_status_update\":{\"github-token\":\"${{ secrets.SMOKE_PROJECT_GITHUB_TOKEN }}\",\"max\":1,\"project\":\"https://github.com/orgs/github-agentic-workflows/projects/1\"},\"missing_data\":{},\"missing_tool\":{},\"remove_labels\":{\"allowed\":[\"smoke-project\"],\"target-repo\":\"github-agentic-workflows/demo-repository\"},\"update_project\":{\"github-token\":\"${{ secrets.SMOKE_PROJECT_GITHUB_TOKEN }}\",\"max\":20,\"project\":\"https://github.com/orgs/github-agentic-workflows/projects/1\",\"views\":[{\"name\":\"Smoke Test Board\",\"layout\":\"board\",\"filter\":\"is:open\"},{\"name\":\"Smoke Test Table\",\"layout\":\"table\"}]}}" - GH_AW_PROJECT_URL: "https://github.com/orgs/github-agentic-workflows/projects/1" - GH_AW_PROJECT_GITHUB_TOKEN: ${{ secrets.SMOKE_PROJECT_GITHUB_TOKEN }} + GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG: "{\"add_comment\":{\"hide_older_comments\":true,\"max\":2,\"target-repo\":\"github-agentic-workflows/demo-repository\"},\"add_labels\":{\"allowed\":[\"smoke-project\"]},\"create_issue\":{\"close_older_issues\":true,\"expires\":2,\"group\":true,\"max\":1},\"create_project_status_update\":{\"github-token\":\"${{ secrets.GH_AW_PROJECT_GITHUB_TOKEN }}\",\"max\":1,\"project\":\"https://github.com/orgs/githubnext/projects/146\"},\"missing_data\":{},\"missing_tool\":{},\"remove_labels\":{\"allowed\":[\"smoke-project\"]},\"update_project\":{\"github-token\":\"${{ secrets.GH_AW_PROJECT_GITHUB_TOKEN }}\",\"max\":20,\"project\":\"https://github.com/orgs/githubnext/projects/146\",\"views\":[{\"name\":\"Smoke Test Board\",\"layout\":\"board\",\"filter\":\"is:open\"},{\"name\":\"Smoke Test Table\",\"layout\":\"table\"}]}}" + GH_AW_PROJECT_URL: "https://github.com/orgs/githubnext/projects/146" + GH_AW_PROJECT_GITHUB_TOKEN: ${{ secrets.GH_AW_PROJECT_GITHUB_TOKEN }} with: github-token: ${{ secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }} script: | diff --git a/.github/workflows/smoke-project.md b/.github/workflows/smoke-project.md index fc82731a15..222a036865 100644 --- a/.github/workflows/smoke-project.md +++ b/.github/workflows/smoke-project.md @@ -35,27 +35,24 @@ safe-outputs: expires: 2h group: true close-older-issues: true - target-repo: github-agentic-workflows/demo-repository add-labels: allowed: [smoke-project] - target-repo: github-agentic-workflows/demo-repository remove-labels: allowed: [smoke-project] - target-repo: github-agentic-workflows/demo-repository update-project: max: 20 - project: "https://github.com/orgs/github-agentic-workflows/projects/1" + project: "https://github.com/orgs/githubnext/projects/146" views: - name: "Smoke Test Board" layout: board filter: "is:open" - name: "Smoke Test Table" layout: table - github-token: ${{ secrets.SMOKE_PROJECT_GITHUB_TOKEN }} + github-token: ${{ secrets.GH_AW_PROJECT_GITHUB_TOKEN }} create-project-status-update: max: 1 - project: "https://github.com/orgs/github-agentic-workflows/projects/1" - github-token: ${{ secrets.SMOKE_PROJECT_GITHUB_TOKEN }} + project: "https://github.com/orgs/githubnext/projects/146" + github-token: ${{ secrets.GH_AW_PROJECT_GITHUB_TOKEN }} messages: append-only-comments: true footer: "> 🧪 *Project smoke test report by [{workflow_name}]({run_url})*" @@ -75,78 +72,35 @@ strict: true 1. **Project Operations Testing**: Use project-related safe-output tools to validate multiple project features against the real project configured in the frontmatter. Steps: a. **Draft Issue Creation**: Call `update_project` with: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" (explicit project URL required) + - `project`: "https://github.com/orgs/githubnext/projects/146" - `content_type`: "draft_issue" - `draft_title`: "Smoke Test Draft Issue - Run ${{ github.run_id }}" - `draft_body`: "Test draft issue for smoke test validation" - `fields`: `{"Status": "Todo", "Priority": "High"}` b. **Field Creation with New Fields**: Call `update_project` with draft issue including new custom fields: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" (explicit project URL required) + - `project`: "https://github.com/orgs/githubnext/projects/146" - `content_type`: "draft_issue" - `draft_title`: "Smoke Test Draft Issue with Custom Fields - Run ${{ github.run_id }}" - `fields`: `{"Status": "Todo", "Priority": "High", "Team": "Engineering", "Sprint": "Q1-2026"}` c. **Field Update**: Call `update_project` again with the same draft issue to update fields: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" (explicit project URL required) + - `project`: "https://github.com/orgs/githubnext/projects/146" - `content_type`: "draft_issue" - `draft_title`: "Smoke Test Draft Issue - Run ${{ github.run_id }}" - `fields`: `{"Status": "In Progress", "Priority": "Medium"}` - - d. **Existing Issue Addition**: Use GitHub MCP to find any open issue from ${{ github.repository }}, then call `update_project` with: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" (explicit project URL required) - - `content_type`: "issue" - - `content_number`: the issue number you found - - `fields`: `{"Status": "In Review", "Priority": "Low"}` - - e. **Existing PR Addition**: Use GitHub MCP to find any open pull request from ${{ github.repository }}, then call `update_project` with: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" (explicit project URL required) - - `content_type`: "pull_request" - - `content_number`: the PR number you found - - `fields`: `{"Status": "In Progress", "Priority": "High"}` - - f. **View Creation**: The workflow automatically creates two views (configured in safe-outputs): - - "Smoke Test Board" (board layout, filter: "is:open") - - "Smoke Test Table" (table layout) - g. **Project Status Update**: Call `create_project_status_update` with: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" (explicit project URL required) + d. **Project Status Update**: Call `create_project_status_update` with: + - `project`: "https://github.com/orgs/githubnext/projects/146" - `body`: "Smoke test project status - Run ${{ github.run_id }}" - `status`: "ON_TRACK" - h. **Verification**: For each operation: + f. **Verification**: For each operation: - Verify the safe-output message is properly formatted in the output file - Confirm the project URL is explicitly included in each message - Check that all field names and values are correctly structured - Validate content_type is correctly set for each operation type -2. **Project URL Requirement Testing**: Test that the `project` field is required in all messages: - - a. **Explicit Project URL (Required)**: Call `update_project` WITH the project field: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" - - `content_type`: "draft_issue" - - `draft_title`: "Test - Explicit Project URL - Run ${{ github.run_id }}" - - `fields`: `{"Status": "Todo"}` - - Verify the operation succeeds with the explicitly provided project URL - - b. **Different Project URL**: Call `update_project` WITH a different explicit project field to test flexibility: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" - - `content_type`: "draft_issue" - - `draft_title`: "Test - Different Project - Run ${{ github.run_id }}" - - `fields`: `{"Status": "Todo"}` - - Verify the message uses the explicitly provided project URL - - c. **Status Update with Explicit Project**: Call `create_project_status_update` WITH the project field: - - `project`: "https://github.com/orgs/github-agentic-workflows/projects/1" - - `body`: "Test status update with explicit project - Run ${{ github.run_id }}" - - `status`: "ON_TRACK" - - Verify the status update uses the explicitly provided project URL - - d. **URL Format Verification**: For all operations: - - Confirm that every message includes an explicit project URL - - Validate that all project URLs are properly formatted in safe-output messages - - Ensure operations target the correct project scope - ## Output 1. **Create an issue** with a summary of the project smoke test run: