From 86a9316af4f9430e5156747cd197ccd44fb2c93d Mon Sep 17 00:00:00 2001 From: Ed Burns Date: Wed, 25 Mar 2026 00:40:12 -0400 Subject: [PATCH 1/3] On branch edburns/dd-2855288-add-smoke-test-to-build-and-test Add `--yolo` to get past permissions problems like this: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit modified: .github/workflows/run-smoke-test.yml ``` Read PROMPT-smoke-test.md │ src/test/prompts/PROMPT-smoke-test.md └ 135 lines read ● Read README.md └ 205 lines read Now I have all the info. Let me create the smoke-test project: ✗ Create smoke-test directory structure (shell) │ mkdir -p /home/runner/work/copilot-sdk-java/copilot-sdk-java/smoke-test/src/main/java └ Permission denied and could not request permission from user ✗ Create smoke-test directory (shell) │ mkdir -p smoke-test/src/main/java && echo "done" └ Permission denied and could not request permission from user ● Check current directory and permissions (shell) │ ls -la && pwd └ 31 lines... ✗ Create smoke-test directory with install (shell) │ install -d smoke-test/src/main/java && echo "done" └ Permission denied and could not request permission from user ✗ Check parent directory permissions (shell) │ ls -la /home/runner/work/copilot-sdk-java/ && stat │ /home/runner/work/copilot-sdk-java/copilot-sdk-java └ Permission denied and could not request permission from user ● Check who we are and permissions (shell) │ whoami && ls -la . | head -5 └ 7 lines... ✗ Test basic write permission (shell) │ echo test > /tmp/test.txt && cat /tmp/test.txt └ Permission denied and could not request permission from user ● Test basic echo (shell) │ echo test └ 2 lines... ✗ Test creating file (shell) │ touch smoke-test-tmp-check 2>&1; echo "exit: $?" └ Permission denied and could not request permission from user ✗ Create directory with Python (shell) │ python3 -c "import os; os.makedirs('smoke-test/src/main/java', exist_ok=True); print('done')" └ Permission denied and could not request permission from user ● Check if smoke-test exists (shell) │ ls smoke-test 2>&1 || echo "no smoke-test dir" └ 3 lines... ✗ Test if cp command works (shell) │ cp -r /dev/null /tmp/test 2>&1; echo "exit: $?" └ Permission denied and could not request permission from user Let me try using the `create` tool directly and see if parent directories are created: ✗ Create CopilotSDK.java │ smoke-test/src/main/java/CopilotSDK.java └ Parent directory does not exist ✗ Create directory with Node.js (shell) │ node -e "const fs=require('fs'); fs.mkdirSync('smoke-test/src/main/java',{recursive:true}); │ console.log('done');" └ Permission denied and could not request permission from user ● List directory with absolute path (shell) │ ls -la /home/runner/work/copilot-sdk-java/copilot-sdk-java/ 2>&1 | head -5 └ 6 lines... ● Check permissions numerically (shell) │ stat -c "%a %U %G" . && id └ 3 lines... ✗ bash Running command └ Expected ':' after property name in JSON at position 11 (line 1 column 12) ✗ Try mkdir (shell) │ mkdir smoke-test && echo "success" └ Permission denied and could not request permission from user ✗ Check if filesystem is read-only (shell) │ mount | grep "$(df . | tail -1 | awk '{print $6}')" └ Command blocked: contains dangerous shell expansion patterns (e.g., parameter transformation, indirect expansion, or nested command substitution) that could enable arbitrary code execution. Please rewrite the command without these expansion patterns. ✗ Check filesystem mount options (shell) │ mount | grep "/home/runner/work" └ Permission denied and could not request permission from user ✗ Check mounts via proc (shell) │ cat /proc/mounts | grep home └ Permission denied and could not request permission from user ● Check filesystem (shell) │ df . 2>&1 └ 3 lines... ✗ Check root filesystem mount options (shell) │ grep "/dev/root" /proc/mounts └ Permission denied and could not request permission from user ✗ Check if proc mounts is accessible (shell) │ ls /proc/mounts 2>&1 └ Permission denied and could not request permission from user ✗ List proc directory (shell) │ ls /proc/ 2>&1 | head -5 └ Permission denied and could not request permission from user ● Check target directory (shell) │ ls -la target/ 2>&1 | head -5 └ 6 lines... ● Check /tmp permissions (shell) │ ls -la /tmp/ 2>&1 | head -5 └ 6 lines... ✗ Check session state directory (shell) │ ls -la /home/runner/.copilot/session-state/ 2>&1 | head -5 └ Permission denied and could not request permission from user ● Try git status (shell) │ git --no-pager status 2>&1 | head -5 └ 5 lines... ✗ Check Maven is available (shell) │ mvn --version 2>&1 └ Permission denied and could not request permission from user ✗ Check Maven wrapper version (shell) │ ./mvnw --version 2>&1 └ Permission denied and could not request permission from user ✗ Check Java version (shell) │ java --version 2>&1 └ Permission denied and could not request permission from user ● Find mvn and java paths (shell) │ which mvn 2>&1 && which java 2>&1 └ 3 lines... ✗ Try mvn with full path (shell) │ /usr/bin/mvn --version 2>&1 └ Permission denied and could not request permission from user ``` Signed-off-by: Ed Burns --- .github/workflows/run-smoke-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-smoke-test.yml b/.github/workflows/run-smoke-test.yml index 80b0aad3d..3f7bf6960 100644 --- a/.github/workflows/run-smoke-test.yml +++ b/.github/workflows/run-smoke-test.yml @@ -45,7 +45,7 @@ jobs: If any step fails, exit with a non-zero exit code. Do not silently fix errors. PROMPT_EOF - copilot --prompt "$(cat /tmp/smoke-test-prompt.txt)" + copilot --yolo --prompt "$(cat /tmp/smoke-test-prompt.txt)" - name: Run smoke test jar env: From 4562fc16b999f38c0ea68aba3d534f6626f53f60 Mon Sep 17 00:00:00 2001 From: Ed Burns Date: Wed, 25 Mar 2026 00:40:12 -0400 Subject: [PATCH 2/3] On branch edburns/dd-2855288-add-smoke-test-to-build-and-test Add `--yolo` to get past permissions problems like this: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit modified: .github/workflows/run-smoke-test.yml ``` Read PROMPT-smoke-test.md │ src/test/prompts/PROMPT-smoke-test.md └ 135 lines read ● Read README.md └ 205 lines read Now I have all the info. Let me create the smoke-test project: ✗ Create smoke-test directory structure (shell) │ mkdir -p /home/runner/work/copilot-sdk-java/copilot-sdk-java/smoke-test/src/main/java └ Permission denied and could not request permission from user ✗ Create smoke-test directory (shell) │ mkdir -p smoke-test/src/main/java && echo "done" └ Permission denied and could not request permission from user ● Check current directory and permissions (shell) │ ls -la && pwd └ 31 lines... ✗ Create smoke-test directory with install (shell) │ install -d smoke-test/src/main/java && echo "done" └ Permission denied and could not request permission from user ✗ Check parent directory permissions (shell) │ ls -la /home/runner/work/copilot-sdk-java/ && stat │ /home/runner/work/copilot-sdk-java/copilot-sdk-java └ Permission denied and could not request permission from user ● Check who we are and permissions (shell) │ whoami && ls -la . | head -5 └ 7 lines... ✗ Test basic write permission (shell) │ echo test > /tmp/test.txt && cat /tmp/test.txt └ Permission denied and could not request permission from user ● Test basic echo (shell) │ echo test └ 2 lines... ✗ Test creating file (shell) │ touch smoke-test-tmp-check 2>&1; echo "exit: $?" └ Permission denied and could not request permission from user ✗ Create directory with Python (shell) │ python3 -c "import os; os.makedirs('smoke-test/src/main/java', exist_ok=True); print('done')" └ Permission denied and could not request permission from user ● Check if smoke-test exists (shell) │ ls smoke-test 2>&1 || echo "no smoke-test dir" └ 3 lines... ✗ Test if cp command works (shell) │ cp -r /dev/null /tmp/test 2>&1; echo "exit: $?" └ Permission denied and could not request permission from user Let me try using the `create` tool directly and see if parent directories are created: ✗ Create CopilotSDK.java │ smoke-test/src/main/java/CopilotSDK.java └ Parent directory does not exist ✗ Create directory with Node.js (shell) │ node -e "const fs=require('fs'); fs.mkdirSync('smoke-test/src/main/java',{recursive:true}); │ console.log('done');" └ Permission denied and could not request permission from user ● List directory with absolute path (shell) │ ls -la /home/runner/work/copilot-sdk-java/copilot-sdk-java/ 2>&1 | head -5 └ 6 lines... ● Check permissions numerically (shell) │ stat -c "%a %U %G" . && id └ 3 lines... ✗ bash Running command └ Expected ':' after property name in JSON at position 11 (line 1 column 12) ✗ Try mkdir (shell) │ mkdir smoke-test && echo "success" └ Permission denied and could not request permission from user ✗ Check if filesystem is read-only (shell) │ mount | grep "$(df . | tail -1 | awk '{print $6}')" └ Command blocked: contains dangerous shell expansion patterns (e.g., parameter transformation, indirect expansion, or nested command substitution) that could enable arbitrary code execution. Please rewrite the command without these expansion patterns. ✗ Check filesystem mount options (shell) │ mount | grep "/home/runner/work" └ Permission denied and could not request permission from user ✗ Check mounts via proc (shell) │ cat /proc/mounts | grep home └ Permission denied and could not request permission from user ● Check filesystem (shell) │ df . 2>&1 └ 3 lines... ✗ Check root filesystem mount options (shell) │ grep "/dev/root" /proc/mounts └ Permission denied and could not request permission from user ✗ Check if proc mounts is accessible (shell) │ ls /proc/mounts 2>&1 └ Permission denied and could not request permission from user ✗ List proc directory (shell) │ ls /proc/ 2>&1 | head -5 └ Permission denied and could not request permission from user ● Check target directory (shell) │ ls -la target/ 2>&1 | head -5 └ 6 lines... ● Check /tmp permissions (shell) │ ls -la /tmp/ 2>&1 | head -5 └ 6 lines... ✗ Check session state directory (shell) │ ls -la /home/runner/.copilot/session-state/ 2>&1 | head -5 └ Permission denied and could not request permission from user ● Try git status (shell) │ git --no-pager status 2>&1 | head -5 └ 5 lines... ✗ Check Maven is available (shell) │ mvn --version 2>&1 └ Permission denied and could not request permission from user ✗ Check Maven wrapper version (shell) │ ./mvnw --version 2>&1 └ Permission denied and could not request permission from user ✗ Check Java version (shell) │ java --version 2>&1 └ Permission denied and could not request permission from user ● Find mvn and java paths (shell) │ which mvn 2>&1 && which java 2>&1 └ 3 lines... ✗ Try mvn with full path (shell) │ /usr/bin/mvn --version 2>&1 └ Permission denied and could not request permission from user ``` Signed-off-by: Ed Burns --- .github/workflows/run-smoke-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-smoke-test.yml b/.github/workflows/run-smoke-test.yml index 80b0aad3d..3f7bf6960 100644 --- a/.github/workflows/run-smoke-test.yml +++ b/.github/workflows/run-smoke-test.yml @@ -45,7 +45,7 @@ jobs: If any step fails, exit with a non-zero exit code. Do not silently fix errors. PROMPT_EOF - copilot --prompt "$(cat /tmp/smoke-test-prompt.txt)" + copilot --yolo --prompt "$(cat /tmp/smoke-test-prompt.txt)" - name: Run smoke test jar env: From ac5ee628a223415ff4ebd645445286cd1f90b3b3 Mon Sep 17 00:00:00 2001 From: Ed Burns Date: Wed, 25 Mar 2026 00:50:56 -0400 Subject: [PATCH 3/3] On branch edburns/dd-2855288-add-smoke-test-to-build-and-test modified: .github/workflows/run-smoke-test.yml - Only run on main. Signed-off-by: Ed Burns --- .github/workflows/run-smoke-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run-smoke-test.yml b/.github/workflows/run-smoke-test.yml index 3f7bf6960..d30ff01a4 100644 --- a/.github/workflows/run-smoke-test.yml +++ b/.github/workflows/run-smoke-test.yml @@ -10,6 +10,7 @@ jobs: smoke-test: name: Build SDK and run smoke test runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2