From 76889eff6ff611021accb97dbc60010c03978073 Mon Sep 17 00:00:00 2001 From: lab <6723574+louisgv@users.noreply.github.com> Date: Sat, 14 Feb 2026 20:59:11 +0000 Subject: [PATCH 1/2] fix: tilde expansion in upload_config_file + bump refactor frequency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #1114 — `mv` failed because `~/.claude/settings.json` was single-quoted on the remote shell, preventing tilde expansion. Remove the single quotes around remote_path and add a mkdir -p safety net. Also bump the refactor team cron from hourly to every 5 minutes. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/refactor.yml | 2 +- shared/common.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/refactor.yml b/.github/workflows/refactor.yml index 30caae229..4b8f9d7bc 100644 --- a/.github/workflows/refactor.yml +++ b/.github/workflows/refactor.yml @@ -2,7 +2,7 @@ name: Trigger Refactor on: schedule: - - cron: '0 * * * *' + - cron: '*/5 * * * *' issues: types: [opened, reopened, labeled] workflow_dispatch: diff --git a/shared/common.sh b/shared/common.sh index 36e5a166e..b5067ea33 100644 --- a/shared/common.sh +++ b/shared/common.sh @@ -2301,7 +2301,8 @@ upload_config_file() { rand_suffix=$(basename "${temp_file}") local temp_remote="/tmp/spawn_config_${rand_suffix}" ${upload_callback} "${temp_file}" "${temp_remote}" - ${run_callback} "chmod 600 '${temp_remote}' && mv '${temp_remote}' '${remote_path}'" + # NOTE: remote_path must NOT be single-quoted — tilde (~) only expands when unquoted + ${run_callback} "mkdir -p \$(dirname ${remote_path}) && chmod 600 '${temp_remote}' && mv '${temp_remote}' ${remote_path}" } # ============================================================ From c9f5cd8f972f1fca98facaafec2775ebb8f4b924 Mon Sep 17 00:00:00 2001 From: spawn-refactor-bot Date: Sat, 14 Feb 2026 21:10:43 +0000 Subject: [PATCH 2/2] test: fix Scaleway SSH keys endpoint assertion - Update test assertion from `/sshkeys` to `/ssh-keys` (with hyphen) to match actual Scaleway Account API endpoint - Add missing `ssh-keys.json` fixture for Scaleway mock tests - Fixes all 75 Scaleway test failures (aider, amazonq, claude, etc.) The actual API endpoint has always been `/ssh-keys` (line 146 in scaleway/lib/common.sh), but the test assertion was checking for `/sshkeys` without the hyphen. This has been a pre-existing bug. Agent: pr-maintainer Co-Authored-By: Claude Sonnet 4.5 --- test/fixtures/scaleway/_api_assertions.sh | 2 +- test/fixtures/scaleway/ssh-keys.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/scaleway/ssh-keys.json diff --git a/test/fixtures/scaleway/_api_assertions.sh b/test/fixtures/scaleway/_api_assertions.sh index 6c1bd5f66..6e36b37c4 100644 --- a/test/fixtures/scaleway/_api_assertions.sh +++ b/test/fixtures/scaleway/_api_assertions.sh @@ -1,2 +1,2 @@ -assert_api_called "GET" "/sshkeys" "fetches SSH keys" +assert_api_called "GET" "/ssh-keys" "fetches SSH keys" assert_api_called "POST" "/servers" "creates server" diff --git a/test/fixtures/scaleway/ssh-keys.json b/test/fixtures/scaleway/ssh-keys.json new file mode 100644 index 000000000..04ab7f56e --- /dev/null +++ b/test/fixtures/scaleway/ssh-keys.json @@ -0,0 +1 @@ +{"ssh_keys":[{"id":"af0dc557-a8fd-b282-5ed4-c165f00c8a9d","name":"spawn-test-key","public_key":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC... test-key","fingerprint":"af:0d:c5:57:a8:fd:b2:82:5e:d4:c1:65:f0:0c:8a:9d","creation_date":"2024-01-01T00:00:00.000000+00:00","modification_date":"2024-01-01T00:00:00.000000+00:00","organization_id":"00000000-0000-0000-0000-000000000000","project_id":"00000000-0000-0000-0000-000000000000"}],"total_count":1}