From d13011a3295b9b49c290c4b7ad655590c44eebe6 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 30 Jun 2025 22:22:06 +1200 Subject: [PATCH] Update 2 files --- dehydrate/build.sh | 28 +++++++++++++++++++++------- getpkg/build.sh | 16 +++++++++++++++- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/dehydrate/build.sh b/dehydrate/build.sh index 94d9551..de0c224 100755 --- a/dehydrate/build.sh +++ b/dehydrate/build.sh @@ -11,13 +11,20 @@ echo "${PROJECT} build script running from: ${SCRIPT_DIR}" # handle running locally, or docker in docker via gitea runner. if [ -n "${GITEA_CONTAINER_NAME:-}" ]; then echo "We're in a gitea container: ${GITEA_CONTAINER_NAME}" - VOLUME_OPTS="--volumes-from=${GITEA_CONTAINER_NAME}" - WORKING_DIR="-w ${GITHUB_WORKSPACE}/${PROJECT}" + VOLUME_OPTS=("--volumes-from=${GITEA_CONTAINER_NAME}") + WORKING_DIR=("-w" "${GITHUB_WORKSPACE}/${PROJECT}") + BUILD_DIR="${GITHUB_WORKSPACE}/${PROJECT}/build" + OUTPUT_DIR="${GITHUB_WORKSPACE}/${PROJECT}/output" else - VOLUME_OPTS="-v ${SCRIPT_DIR}:/app" - WORKING_DIR="-w /app" + VOLUME_OPTS=("-v" "${SCRIPT_DIR}:/app") + WORKING_DIR=("-w" "/app") + BUILD_DIR="${SCRIPT_DIR}/build" + OUTPUT_DIR="${SCRIPT_DIR}/output" fi +# Create output directory +mkdir -p "${OUTPUT_DIR}" + # Run build in container with mounted directories COMMAND_TO_RUN="cmake -G Ninja -S . -B ./build \ -DCMAKE_BUILD_TYPE=\${CMAKE_BUILD_TYPE} \ @@ -27,12 +34,19 @@ COMMAND_TO_RUN="cmake -G Ninja -S . -B ./build \ echo "Building in new docker container" docker run --rm \ --user "$(id -u):$(id -g)" \ - "${VOLUME_OPTS}" \ - "${WORKING_DIR}" \ + "${VOLUME_OPTS[@]}" \ + "${WORKING_DIR[@]}" \ -e CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Debug}" \ gitea.jde.nz/public/dropshell-build-base:latest \ bash -c "${COMMAND_TO_RUN}" -[ -f "${SCRIPT_DIR}/build/${PROJECT}" ] && cp "${SCRIPT_DIR}/build/${PROJECT}" "${SCRIPT_DIR}/output/" || echo "No output file found" +# Copy built executable to output directory +if [ -f "${BUILD_DIR}/${PROJECT}" ]; then + cp "${BUILD_DIR}/${PROJECT}" "${OUTPUT_DIR}/" + echo "✓ Build successful - ${PROJECT} copied to ${OUTPUT_DIR}/" +else + echo "✗ Build failed - ${PROJECT} not found in ${BUILD_DIR}/" + exit 1 +fi echo "Build complete" diff --git a/getpkg/build.sh b/getpkg/build.sh index b95c340..de0c224 100755 --- a/getpkg/build.sh +++ b/getpkg/build.sh @@ -13,11 +13,18 @@ if [ -n "${GITEA_CONTAINER_NAME:-}" ]; then echo "We're in a gitea container: ${GITEA_CONTAINER_NAME}" VOLUME_OPTS=("--volumes-from=${GITEA_CONTAINER_NAME}") WORKING_DIR=("-w" "${GITHUB_WORKSPACE}/${PROJECT}") + BUILD_DIR="${GITHUB_WORKSPACE}/${PROJECT}/build" + OUTPUT_DIR="${GITHUB_WORKSPACE}/${PROJECT}/output" else VOLUME_OPTS=("-v" "${SCRIPT_DIR}:/app") WORKING_DIR=("-w" "/app") + BUILD_DIR="${SCRIPT_DIR}/build" + OUTPUT_DIR="${SCRIPT_DIR}/output" fi +# Create output directory +mkdir -p "${OUTPUT_DIR}" + # Run build in container with mounted directories COMMAND_TO_RUN="cmake -G Ninja -S . -B ./build \ -DCMAKE_BUILD_TYPE=\${CMAKE_BUILD_TYPE} \ @@ -33,6 +40,13 @@ docker run --rm \ gitea.jde.nz/public/dropshell-build-base:latest \ bash -c "${COMMAND_TO_RUN}" -[ -f "${SCRIPT_DIR}/build/${PROJECT}" ] && cp "${SCRIPT_DIR}/build/${PROJECT}" "${SCRIPT_DIR}/output/" || echo "No output file found" +# Copy built executable to output directory +if [ -f "${BUILD_DIR}/${PROJECT}" ]; then + cp "${BUILD_DIR}/${PROJECT}" "${OUTPUT_DIR}/" + echo "✓ Build successful - ${PROJECT} copied to ${OUTPUT_DIR}/" +else + echo "✗ Build failed - ${PROJECT} not found in ${BUILD_DIR}/" + exit 1 +fi echo "Build complete"