diff --git a/.github/workflows/ci-build-artifacts-testbox.yml b/.github/workflows/ci-build-artifacts-testbox.yml index fe263d40f35..48cd441af58 100644 --- a/.github/workflows/ci-build-artifacts-testbox.yml +++ b/.github/workflows/ci-build-artifacts-testbox.yml @@ -191,11 +191,9 @@ jobs: sudo ln -sf "$node_bin/corepack" /usr/local/bin/corepack sudo ln -sf "$pnpm_bin" /usr/local/bin/pnpm - - name: Run Testbox - uses: useblacksmith/run-testbox@v2 - if: always() + - name: Hydrate Testbox provider env helper + shell: bash env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }} ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }} @@ -217,3 +215,10 @@ jobs: XAI_API_KEY: ${{ secrets.XAI_API_KEY }} ZAI_API_KEY: ${{ secrets.ZAI_API_KEY }} Z_AI_API_KEY: ${{ secrets.Z_AI_API_KEY }} + run: bash scripts/ci-hydrate-testbox-env.sh + + - name: Run Testbox + uses: useblacksmith/run-testbox@v2 + if: always() + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" diff --git a/.github/workflows/ci-check-testbox.yml b/.github/workflows/ci-check-testbox.yml index b9d4b93aa78..78405b19a6d 100644 --- a/.github/workflows/ci-check-testbox.yml +++ b/.github/workflows/ci-check-testbox.yml @@ -93,11 +93,10 @@ jobs: sudo ln -sf "$node_bin/npx" /usr/local/bin/npx sudo ln -sf "$node_bin/corepack" /usr/local/bin/corepack sudo ln -sf "$pnpm_bin" /usr/local/bin/pnpm - - name: Run Testbox - uses: useblacksmith/run-testbox@v2 - if: always() + + - name: Hydrate Testbox provider env helper + shell: bash env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} ANTHROPIC_API_KEY_OLD: ${{ secrets.ANTHROPIC_API_KEY_OLD }} ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }} @@ -119,3 +118,10 @@ jobs: XAI_API_KEY: ${{ secrets.XAI_API_KEY }} ZAI_API_KEY: ${{ secrets.ZAI_API_KEY }} Z_AI_API_KEY: ${{ secrets.Z_AI_API_KEY }} + run: bash scripts/ci-hydrate-testbox-env.sh + + - name: Run Testbox + uses: useblacksmith/run-testbox@v2 + if: always() + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" diff --git a/scripts/ci-hydrate-testbox-env.sh b/scripts/ci-hydrate-testbox-env.sh new file mode 100755 index 00000000000..481f24e6c88 --- /dev/null +++ b/scripts/ci-hydrate-testbox-env.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -euo pipefail + +profile_path="${1:-$HOME/.openclaw-testbox-live.profile}" +helper_path="${2:-$HOME/.local/bin/openclaw-testbox-env}" + +mkdir -p "$(dirname "$helper_path")" + +bash scripts/ci-hydrate-live-auth.sh "$profile_path" + +cat >"$helper_path" <<'SH' +#!/usr/bin/env bash +set -euo pipefail + +profile_path="${OPENCLAW_TESTBOX_PROFILE_FILE:-$HOME/.openclaw-testbox-live.profile}" +if [[ ! -f "$profile_path" ]]; then + echo "Missing Testbox provider env profile: $profile_path" >&2 + exit 1 +fi + +set -a +# shellcheck disable=SC1090 +source "$profile_path" +set +a + +if [[ "$#" -eq 0 ]]; then + exec "${SHELL:-/bin/bash}" +fi + +exec "$@" +SH +chmod 700 "$helper_path"