From cc7674f7d79cf5bc8d08eb1346c1201ecda7c798 Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Sat, 17 Jan 2026 10:54:07 -0500 Subject: [PATCH] fix(c): Use static CLI functions instead of library API The CLI was using library-only types and functions (unsandbox_languages_t, unsandbox_image_list_t, etc.) that are only available when UNSANDBOX_LIBRARY is defined. This caused build failures when building as CLI. Changes: - Add static list_languages_cli() for CLI language listing - Fix image list to parse JSON directly instead of using library types - Fix spawn_from_image() call with missing bootstrap/network_mode args - Fix image_publish/clone_image calls to use static functions Also update CLAUDE.md with release/versioning documentation. --- CLAUDE.md | 33 ++++++ clients/c/src/un.c | 191 ++++++++++++++++++++++++-------- clients/c/tests/test_functional | Bin 130872 -> 0 bytes 3 files changed, 177 insertions(+), 47 deletions(-) delete mode 100755 clients/c/tests/test_functional diff --git a/CLAUDE.md b/CLAUDE.md index 1aa8691..00e8806 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -272,6 +272,39 @@ git remote set-url --add --push origin ssh://git@git.unturf.com:2222/engineering git remote set-url --add --push origin git@github.com:russellballestrini/un-inception.git ``` +## Releases & Versioning + +**ALWAYS update the VERSION file BEFORE creating a release tag.** + +The `VERSION` file in the repo root contains the current semantic version (e.g., `0.0.2`). This file is the source of truth for the release version. + +### Release Process + +```bash +# 1. Update VERSION file first +echo "0.0.3" > VERSION + +# 2. Commit the version bump +git add VERSION +git commit -m "chore: Bump version to 0.0.3" + +# 3. Create and push the tag (triggers full 42-language test matrix) +git tag -a v0.0.3 -m "Release v0.0.3 - Description of changes" +git push origin main v0.0.3 +``` + +### Tag Triggers + +- **Tag push** (`v*.*.*`) triggers the **full test matrix** with all 42 languages +- **Regular push to main** only tests changed SDKs (smart detection) + +### Version Format + +Use semantic versioning: `MAJOR.MINOR.PATCH` +- `MAJOR` - Breaking API changes +- `MINOR` - New features, backward compatible +- `PATCH` - Bug fixes, backward compatible + ## SDK Testing Philosophy **SDKs are LIBRARIES for embedding in other people's code.** They are NOT just CLIs. diff --git a/clients/c/src/un.c b/clients/c/src/un.c index c4d55e1..982fd90 100644 --- a/clients/c/src/un.c +++ b/clients/c/src/un.c @@ -1834,6 +1834,87 @@ static int list_sessions(const UnsandboxCredentials *creds) { return 0; } +// List supported languages (CLI helper) +static int list_languages_cli(const UnsandboxCredentials *creds, int json_output) { + CURL *curl = curl_easy_init(); + if (!curl) return 1; + + struct ResponseBuffer response = {0}; + response.data = malloc(1); + response.size = 0; + + char url[256]; + snprintf(url, sizeof(url), "%s/languages", API_BASE); + + struct curl_slist *headers = NULL; + headers = add_hmac_auth_headers(headers, creds, "GET", "/languages", NULL); + + curl_easy_setopt(curl, CURLOPT_URL, url); + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_callback); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); + curl_easy_setopt(curl, CURLOPT_USERAGENT, "un-cli/2.0"); + + CURLcode res = curl_easy_perform(curl); + long http_code = 0; + curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &http_code); + + curl_slist_free_all(headers); + curl_easy_cleanup(curl); + + if (res != CURLE_OK || http_code != 200) { + fprintf(stderr, "Error: Failed to fetch languages (HTTP %ld)\n", http_code); + free(response.data); + return 1; + } + + // Find the languages array in JSON: "languages":["lang1","lang2",...] or just ["lang1",...] + const char *langs_start = strstr(response.data, "\"languages\":["); + if (!langs_start) { + langs_start = strchr(response.data, '['); + } + + if (!langs_start) { + fprintf(stderr, "Error: Invalid response format\n"); + free(response.data); + return 1; + } + + const char *arr_start = strchr(langs_start, '['); + if (!arr_start) { + fprintf(stderr, "Error: Invalid response format\n"); + free(response.data); + return 1; + } + + if (json_output) { + // Output as JSON array - find matching ] + const char *arr_end = strchr(arr_start, ']'); + if (arr_end) { + int len = arr_end - arr_start + 1; + printf("%.*s\n", len, arr_start); + } + } else { + // Output one language per line + const char *p = arr_start + 1; + while (*p && *p != ']') { + if (*p == '"') { + p++; + const char *end = strchr(p, '"'); + if (end) { + printf("%.*s\n", (int)(end - p), p); + p = end + 1; + } + } else { + p++; + } + } + } + + free(response.data); + return 0; +} + // Create a session via HTTP API // multiplexer: NULL for no multiplexer (default), "screen", or "tmux" // input_files: array of files to include (written to /tmp/ in container) @@ -8336,33 +8417,10 @@ int main(int argc, char *argv[]) { } curl_global_init(CURL_GLOBAL_DEFAULT); - unsandbox_languages_t *langs = unsandbox_get_languages(creds->public_key, creds->secret_key); + int ret = list_languages_cli(creds, json_output); curl_global_cleanup(); - - if (!langs) { - fprintf(stderr, "Error: Failed to fetch languages list\n"); - free_credentials(creds); - return 1; - } - - if (json_output) { - // Output as JSON array - printf("["); - for (int i = 0; i < langs->count; i++) { - printf("\"%s\"", langs->languages[i]); - if (i < langs->count - 1) printf(","); - } - printf("]\n"); - } else { - // Output one per line (pipe-friendly) - for (int i = 0; i < langs->count; i++) { - printf("%s\n", langs->languages[i]); - } - } - - unsandbox_free_languages(langs); free_credentials(creds); - return 0; + return ret; } // Check for snapshot command @@ -8595,26 +8653,66 @@ int main(int argc, char *argv[]) { if (do_list) { char *response = list_images(creds, NULL); if (response) { - // Parse and display image list - unsandbox_image_list_t *images = unsandbox_image_list(creds->public_key, creds->secret_key); - if (images && images->count > 0) { - printf("%-40s %-20s %-10s %-8s %-10s\n", "ID", "NAME", "VISIBILITY", "LOCKED", "SOURCE"); - printf("%-40s %-20s %-10s %-8s %-10s\n", "----------------------------------------", - "--------------------", "----------", "--------", "----------"); - for (size_t i = 0; i < images->count; i++) { - unsandbox_image_t *img = &images->images[i]; - printf("%-40s %-20s %-10s %-8s %-10s\n", - img->id ? img->id : "", - img->name ? img->name : "", - img->visibility ? img->visibility : "", - img->locked ? "yes" : "no", - img->source_type ? img->source_type : ""); - } - unsandbox_free_image_list(images); - } else { + // Parse and display image list from JSON response + const char *images_start = strstr(response, "\"images\":["); + if (!images_start) { printf("No images found.\n"); + free(response); + } else { + // Count images + int count = 0; + const char *p = images_start; + while ((p = strchr(p + 1, '{')) != NULL && strchr(images_start, ']') && p < strchr(images_start, ']')) { + count++; + } + + if (count == 0) { + printf("No images found.\n"); + } else { + printf("%-40s %-20s %-10s %-8s %-10s\n", "ID", "NAME", "VISIBILITY", "LOCKED", "SOURCE"); + printf("%-40s %-20s %-10s %-8s %-10s\n", "----------------------------------------", + "--------------------", "----------", "--------", "----------"); + + // Parse each image object + const char *pos = strchr(images_start, '['); + if (pos) { + while ((pos = strchr(pos, '{')) != NULL) { + // Check we haven't passed the end of the array + const char *arr_end = strchr(images_start, ']'); + if (arr_end && pos > arr_end) break; + + char *img_id = extract_json_string(pos, "id"); + char *img_name = extract_json_string(pos, "name"); + char *img_visibility = extract_json_string(pos, "visibility"); + char *img_source = extract_json_string(pos, "source_type"); + + // Extract locked boolean + const char *locked_str = strstr(pos, "\"locked\":"); + int locked = 0; + if (locked_str && locked_str < strchr(pos, '}')) { + locked_str += 9; + while (*locked_str == ' ') locked_str++; + locked = (strncmp(locked_str, "true", 4) == 0); + } + + printf("%-40s %-20s %-10s %-8s %-10s\n", + img_id ? img_id : "", + img_name ? img_name : "", + img_visibility ? img_visibility : "", + locked ? "yes" : "no", + img_source ? img_source : ""); + + if (img_id) free(img_id); + if (img_name) free(img_name); + if (img_visibility) free(img_visibility); + if (img_source) free(img_source); + + pos++; + } + } + } + free(response); } - free(response); } else { fprintf(stderr, "Error: Failed to list images\n"); ret = 1; @@ -8656,7 +8754,7 @@ int main(int argc, char *argv[]) { } } } else if (do_spawn) { - char *result = spawn_from_image(creds, image_id, spawn_name, spawn_ports); + char *result = spawn_from_image(creds, image_id, spawn_name, spawn_ports, NULL, NULL); if (result) { printf("%s\n", result); free(result); @@ -8669,8 +8767,7 @@ int main(int argc, char *argv[]) { fprintf(stderr, "Error: --source-type required for --publish (service or snapshot)\n"); ret = 1; } else { - char *result = unsandbox_image_publish(creds->public_key, creds->secret_key, - source_type, image_id, spawn_name, NULL); + char *result = image_publish(creds, source_type, image_id, spawn_name, NULL); if (result) { printf("Image published: %s\n", result); free(result); @@ -8680,7 +8777,7 @@ int main(int argc, char *argv[]) { } } } else if (do_clone) { - char *result = unsandbox_image_clone(creds->public_key, creds->secret_key, image_id, spawn_name); + char *result = clone_image(creds, image_id, spawn_name, NULL); if (result) { printf("Image cloned: %s\n", result); free(result); diff --git a/clients/c/tests/test_functional b/clients/c/tests/test_functional deleted file mode 100755 index 9a83b9f4b70c6f4250727db018ddb7cc5d2f537f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130872 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⪙QCh4Bt-0_x7X%}kNL&>&-fpY@B6Eq%H0ximkNf*Q}J{6iZtkn^uSsT*8h0> zap3##2)2xZeIIP=!zQOuFpELdqlf3=!%|GWn$q#p>3P`ceA&JUp0|Uq0+TY;<3D93Ec}bnX(JL)pUS@5X6=*Kwodizx+o`p&yDBmRZ28fQKgAr%b&3%+xEDgXcg