Skip to content

Commit b3ceeed

Browse files
committed
fix(e2e): build gateway cli explicitly
1 parent d001f29 commit b3ceeed

1 file changed

Lines changed: 36 additions & 5 deletions

File tree

e2e/with-docker-gateway.sh

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,19 @@ fi
2323

2424
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
2525

26+
cargo_target_dir() {
27+
if [ -n "${CARGO_TARGET_DIR:-}" ]; then
28+
case "${CARGO_TARGET_DIR}" in
29+
/*) printf '%s\n' "${CARGO_TARGET_DIR}" ;;
30+
*) printf '%s\n' "${ROOT}/${CARGO_TARGET_DIR}" ;;
31+
esac
32+
return 0
33+
fi
34+
35+
cargo metadata --format-version=1 --no-deps \
36+
| python3 -c 'import json, sys; print(json.load(sys.stdin)["target_directory"])'
37+
}
38+
2639
github_actions_host_docker_tmpdir() {
2740
if [ "${GITHUB_ACTIONS:-}" != "true" ] \
2841
|| [ ! -S /var/run/docker.sock ] \
@@ -55,8 +68,8 @@ else
5568
fi
5669
WORKDIR_PARENT="${WORKDIR_PARENT%/}"
5770
WORKDIR="$(mktemp -d "${WORKDIR_PARENT}/openshell-e2e-gateway.XXXXXX")"
58-
GATEWAY_BIN="${ROOT}/target/debug/openshell-gateway"
59-
CLI_BIN="${ROOT}/target/debug/openshell"
71+
GATEWAY_BIN=""
72+
CLI_BIN=""
6073
GATEWAY_PID=""
6174
GATEWAY_LOG="${WORKDIR}/gateway.log"
6275
GATEWAY_CONFIG_DIR=""
@@ -333,18 +346,36 @@ if [ -n "${CARGO_BUILD_JOBS:-}" ]; then
333346
CARGO_BUILD_JOBS_ARG=(-j "${CARGO_BUILD_JOBS}")
334347
fi
335348

336-
echo "Building openshell-gateway and openshell-cli..."
349+
TARGET_DIR="$(cargo_target_dir)"
350+
GATEWAY_BIN="${TARGET_DIR}/debug/openshell-gateway"
351+
CLI_BIN="${TARGET_DIR}/debug/openshell"
352+
353+
echo "Building openshell-gateway..."
337354
cargo build ${CARGO_BUILD_JOBS_ARG[@]+"${CARGO_BUILD_JOBS_ARG[@]}"} \
338355
-p openshell-server --bin openshell-gateway \
339-
-p openshell-cli --features openshell-core/dev-settings
356+
--features openshell-core/dev-settings
357+
358+
echo "Building openshell-cli..."
359+
cargo build ${CARGO_BUILD_JOBS_ARG[@]+"${CARGO_BUILD_JOBS_ARG[@]}"} \
360+
-p openshell-cli --bin openshell \
361+
--features openshell-core/dev-settings
362+
363+
if [ ! -x "${GATEWAY_BIN}" ]; then
364+
echo "ERROR: expected openshell-gateway binary at ${GATEWAY_BIN}" >&2
365+
exit 1
366+
fi
367+
if [ ! -x "${CLI_BIN}" ]; then
368+
echo "ERROR: expected openshell CLI binary at ${CLI_BIN}" >&2
369+
exit 1
370+
fi
340371

341372
echo "Building openshell-sandbox for ${SUPERVISOR_TARGET}..."
342373
mkdir -p "${SUPERVISOR_OUT_DIR}"
343374
if [ "${HOST_OS}" = "Linux" ] && [ "${HOST_ARCH}" = "${DAEMON_ARCH}" ]; then
344375
rustup target add "${SUPERVISOR_TARGET}" >/dev/null 2>&1 || true
345376
cargo build ${CARGO_BUILD_JOBS_ARG[@]+"${CARGO_BUILD_JOBS_ARG[@]}"} \
346377
--release -p openshell-sandbox --target "${SUPERVISOR_TARGET}"
347-
cp "${ROOT}/target/${SUPERVISOR_TARGET}/release/openshell-sandbox" "${SUPERVISOR_BIN}"
378+
cp "${TARGET_DIR}/${SUPERVISOR_TARGET}/release/openshell-sandbox" "${SUPERVISOR_BIN}"
348379
else
349380
CONTAINER_ENGINE=docker \
350381
DOCKER_PLATFORM="linux/${DAEMON_ARCH}" \

0 commit comments

Comments
 (0)