Skip to content

Commit ca9b4d7

Browse files
Mossakaclaude
andcommitted
fix: improve version extraction in chroot smoke tests
- Quote values in host-versions.env to prevent bash interpretation - Extract version patterns directly with grep instead of using tail -1 (which captured awf's exit message instead of the version) - Simplify comparison logic since chroot versions are already extracted Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ab97dd1 commit ca9b4d7

2 files changed

Lines changed: 18 additions & 18 deletions

File tree

.github/workflows/smoke-chroot.lock.yml

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.github/workflows/smoke-chroot.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,9 @@ steps:
5353
echo "=== Capturing host versions for post-verification ==="
5454
mkdir -p /tmp/gh-aw/chroot-test
5555
{
56-
echo "HOST_PYTHON_VERSION=$(python3 --version 2>&1 | head -1)"
57-
echo "HOST_NODE_VERSION=$(node --version 2>&1 | head -1)"
58-
echo "HOST_GO_VERSION=$(go version 2>&1 | head -1)"
56+
echo "HOST_PYTHON_VERSION='$(python3 --version 2>&1 | head -1)'"
57+
echo "HOST_NODE_VERSION='$(node --version 2>&1 | head -1)'"
58+
echo "HOST_GO_VERSION='$(go version 2>&1 | head -1)'"
5959
} > /tmp/gh-aw/chroot-test/host-versions.env
6060
cat /tmp/gh-aw/chroot-test/host-versions.env
6161
- name: Install awf dependencies
@@ -85,15 +85,15 @@ steps:
8585
8686
# Test Python version in chroot
8787
echo "Testing Python..."
88-
CHROOT_PYTHON=$(sudo -E awf --enable-chroot --skip-pull --allow-domains localhost -- python3 --version 2>&1 | tail -1) || CHROOT_PYTHON="FAILED"
88+
CHROOT_PYTHON=$(sudo -E awf --enable-chroot --skip-pull --allow-domains localhost -- python3 --version 2>&1 | grep -oP 'Python \d+\.\d+\.\d+' | head -1) || CHROOT_PYTHON="FAILED"
8989
9090
# Test Node version in chroot
9191
echo "Testing Node..."
92-
CHROOT_NODE=$(sudo -E awf --enable-chroot --skip-pull --allow-domains localhost -- node --version 2>&1 | tail -1) || CHROOT_NODE="FAILED"
92+
CHROOT_NODE=$(sudo -E awf --enable-chroot --skip-pull --allow-domains localhost -- node --version 2>&1 | grep -oP 'v\d+\.\d+\.\d+' | head -1) || CHROOT_NODE="FAILED"
9393
9494
# Test Go version in chroot
9595
echo "Testing Go..."
96-
CHROOT_GO=$(sudo -E awf --enable-chroot --skip-pull --allow-domains localhost -- go version 2>&1 | tail -1) || CHROOT_GO="FAILED"
96+
CHROOT_GO=$(sudo -E awf --enable-chroot --skip-pull --allow-domains localhost -- go version 2>&1 | grep -oP 'go\d+\.\d+(\.\d+)?' | head -1) || CHROOT_GO="FAILED"
9797
9898
# Save chroot versions
9999
{
@@ -111,19 +111,19 @@ steps:
111111
NODE_MATCH="NO"
112112
GO_MATCH="NO"
113113
114-
# Compare Python (extract version number)
115-
HOST_PY_NUM=$(echo "$HOST_PYTHON_VERSION" | grep -oP '\d+\.\d+\.\d+' || echo "")
116-
CHROOT_PY_NUM=$(echo "$CHROOT_PYTHON" | grep -oP '\d+\.\d+\.\d+' || echo "")
114+
# Compare Python (extract version number - chroot already extracted as "Python X.Y.Z")
115+
HOST_PY_NUM=$(echo "$HOST_PYTHON_VERSION" | grep -oP 'Python \d+\.\d+\.\d+' || echo "")
116+
CHROOT_PY_NUM="$CHROOT_PYTHON"
117117
[ "$HOST_PY_NUM" = "$CHROOT_PY_NUM" ] && [ -n "$HOST_PY_NUM" ] && PYTHON_MATCH="YES"
118118
119-
# Compare Node (extract version number)
119+
# Compare Node (extract version number - already extracted as v\d+.\d+.\d+)
120120
HOST_NODE_NUM=$(echo "$HOST_NODE_VERSION" | grep -oP 'v\d+\.\d+\.\d+' || echo "")
121-
CHROOT_NODE_NUM=$(echo "$CHROOT_NODE" | grep -oP 'v\d+\.\d+\.\d+' || echo "")
121+
CHROOT_NODE_NUM="$CHROOT_NODE"
122122
[ "$HOST_NODE_NUM" = "$CHROOT_NODE_NUM" ] && [ -n "$HOST_NODE_NUM" ] && NODE_MATCH="YES"
123123
124-
# Compare Go (extract version number)
124+
# Compare Go (extract version number - chroot already extracted as "goX.Y.Z")
125125
HOST_GO_NUM=$(echo "$HOST_GO_VERSION" | grep -oP 'go\d+\.\d+(\.\d+)?' || echo "")
126-
CHROOT_GO_NUM=$(echo "$CHROOT_GO" | grep -oP 'go\d+\.\d+(\.\d+)?' || echo "")
126+
CHROOT_GO_NUM="$CHROOT_GO"
127127
[ "$HOST_GO_NUM" = "$CHROOT_GO_NUM" ] && [ -n "$HOST_GO_NUM" ] && GO_MATCH="YES"
128128
129129
# Create results summary

0 commit comments

Comments
 (0)