From a2b3c2b2b2763bfb6cb9d0ad5e4fa36acddafaac Mon Sep 17 00:00:00 2001 From: Joshua Gilman Date: Fri, 9 Jan 2026 16:41:32 -0800 Subject: [PATCH 1/2] fix: use POSIX sh for test scripts to support Alpine Alpine Linux doesn't have bash installed by default. Changed test scripts to use #!/bin/sh and POSIX-compatible syntax: - Changed shebang from #!/bin/bash to #!/bin/sh - Changed 'source' to '.' (POSIX equivalent) - Changed 'bash -c' to 'sh -c' in check commands Co-Authored-By: Claude Opus 4.5 --- test/blobber/test.sh | 12 ++++++------ test/blobber/test_alpine.sh | 8 ++++---- test/blobber/test_debian.sh | 8 ++++---- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/test/blobber/test.sh b/test/blobber/test.sh index 565d605..cc4e169 100755 --- a/test/blobber/test.sh +++ b/test/blobber/test.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # This test file will be run against an auto-generated devcontainer.json that # includes the 'blobber' Feature with default options. @@ -6,15 +6,15 @@ set -e # Import test library bundled with the devcontainer CLI -source dev-container-features-test-lib +. dev-container-features-test-lib # Feature-specific tests -check "blobber is installed" bash -c "command -v blobber" -check "blobber version works" bash -c "blobber version" -check "blobber help works" bash -c "blobber --help" +check "blobber is installed" sh -c "command -v blobber" +check "blobber version works" sh -c "blobber version" +check "blobber help works" sh -c "blobber --help" # Verify blobber is in expected location -check "blobber in /usr/local/bin" bash -c "test -x /usr/local/bin/blobber" +check "blobber in /usr/local/bin" sh -c "test -x /usr/local/bin/blobber" # Report result reportResults diff --git a/test/blobber/test_alpine.sh b/test/blobber/test_alpine.sh index 1b8a29c..7481820 100755 --- a/test/blobber/test_alpine.sh +++ b/test/blobber/test_alpine.sh @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/sh set -e -source dev-container-features-test-lib +. dev-container-features-test-lib -check "blobber is installed" bash -c "command -v blobber" -check "blobber version works" bash -c "blobber version" +check "blobber is installed" sh -c "command -v blobber" +check "blobber version works" sh -c "blobber version" reportResults diff --git a/test/blobber/test_debian.sh b/test/blobber/test_debian.sh index 1b8a29c..7481820 100755 --- a/test/blobber/test_debian.sh +++ b/test/blobber/test_debian.sh @@ -1,8 +1,8 @@ -#!/bin/bash +#!/bin/sh set -e -source dev-container-features-test-lib +. dev-container-features-test-lib -check "blobber is installed" bash -c "command -v blobber" -check "blobber version works" bash -c "blobber version" +check "blobber is installed" sh -c "command -v blobber" +check "blobber version works" sh -c "blobber version" reportResults From b8e8b8d498cb5dfdcc757ca215ffdae4dfc128a3 Mon Sep 17 00:00:00 2001 From: Joshua Gilman Date: Fri, 9 Jan 2026 16:43:20 -0800 Subject: [PATCH 2/2] fix: use devcontainer base images that include bash The devcontainer test library requires bash. Plain alpine:3.19 doesn't have bash installed, causing test failures. Updated to use the official devcontainer base images which include bash: - Changed alpine:3.19 to mcr.microsoft.com/devcontainers/base:alpine - Changed debian:bookworm to mcr.microsoft.com/devcontainers/base:debian - Reverted test scripts back to #!/bin/bash since the test library requires it Co-Authored-By: Claude Opus 4.5 --- .github/workflows/test.yml | 2 +- test/blobber/scenarios.json | 4 ++-- test/blobber/test.sh | 12 ++++++------ test/blobber/test_alpine.sh | 8 ++++---- test/blobber/test_debian.sh | 8 ++++---- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 86d8b1b..c59a2ea 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,7 +18,7 @@ jobs: baseImage: - mcr.microsoft.com/devcontainers/base:ubuntu - mcr.microsoft.com/devcontainers/base:debian - - alpine:3.19 + - mcr.microsoft.com/devcontainers/base:alpine steps: - name: Checkout uses: actions/checkout@v4 diff --git a/test/blobber/scenarios.json b/test/blobber/scenarios.json index 1ff410c..079f067 100644 --- a/test/blobber/scenarios.json +++ b/test/blobber/scenarios.json @@ -1,12 +1,12 @@ { "test_alpine": { - "image": "alpine:3.19", + "image": "mcr.microsoft.com/devcontainers/base:alpine", "features": { "blobber": {} } }, "test_debian": { - "image": "debian:bookworm", + "image": "mcr.microsoft.com/devcontainers/base:debian", "features": { "blobber": {} } diff --git a/test/blobber/test.sh b/test/blobber/test.sh index cc4e169..565d605 100755 --- a/test/blobber/test.sh +++ b/test/blobber/test.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # This test file will be run against an auto-generated devcontainer.json that # includes the 'blobber' Feature with default options. @@ -6,15 +6,15 @@ set -e # Import test library bundled with the devcontainer CLI -. dev-container-features-test-lib +source dev-container-features-test-lib # Feature-specific tests -check "blobber is installed" sh -c "command -v blobber" -check "blobber version works" sh -c "blobber version" -check "blobber help works" sh -c "blobber --help" +check "blobber is installed" bash -c "command -v blobber" +check "blobber version works" bash -c "blobber version" +check "blobber help works" bash -c "blobber --help" # Verify blobber is in expected location -check "blobber in /usr/local/bin" sh -c "test -x /usr/local/bin/blobber" +check "blobber in /usr/local/bin" bash -c "test -x /usr/local/bin/blobber" # Report result reportResults diff --git a/test/blobber/test_alpine.sh b/test/blobber/test_alpine.sh index 7481820..1b8a29c 100755 --- a/test/blobber/test_alpine.sh +++ b/test/blobber/test_alpine.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash set -e -. dev-container-features-test-lib +source dev-container-features-test-lib -check "blobber is installed" sh -c "command -v blobber" -check "blobber version works" sh -c "blobber version" +check "blobber is installed" bash -c "command -v blobber" +check "blobber version works" bash -c "blobber version" reportResults diff --git a/test/blobber/test_debian.sh b/test/blobber/test_debian.sh index 7481820..1b8a29c 100755 --- a/test/blobber/test_debian.sh +++ b/test/blobber/test_debian.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash set -e -. dev-container-features-test-lib +source dev-container-features-test-lib -check "blobber is installed" sh -c "command -v blobber" -check "blobber version works" sh -c "blobber version" +check "blobber is installed" bash -c "command -v blobber" +check "blobber version works" bash -c "blobber version" reportResults