From ca4b4fa06e7aa1722a86e38cc37d5ca13532fb0c Mon Sep 17 00:00:00 2001 From: Mara Nikola Kiefer <8320933+mnkiefer@users.noreply.github.com> Date: Mon, 2 Feb 2026 16:09:41 +0100 Subject: [PATCH 1/2] Refactor project URLs and GitHub token in workflow Updated project URLs and GitHub token in smoke-project workflow. --- .github/workflows/smoke-project.md | 66 +++++------------------------- 1 file changed, 10 insertions(+), 56 deletions(-) diff --git a/.github/workflows/smoke-project.md b/.github/workflows/smoke-project.md index fc82731a15d..222a036865f 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: From 4a9226b116b3d4b4d021648b60e2be1e0525dfff Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 2 Feb 2026 16:54:26 +0100 Subject: [PATCH 2/2] Recompile smoke-project workflow with consistent project URLs and tokens (#13307) --- .github/workflows/smoke-project.lock.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/smoke-project.lock.yml b/.github/workflows/smoke-project.lock.yml index 3810a693a85..2a674f3141e 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: |