From 5a906120870190ee4f6e750e077d76b24ca76263 Mon Sep 17 00:00:00 2001 From: Clifton Palmer Date: Thu, 13 Mar 2025 05:48:42 -0500 Subject: [PATCH] version 0.2.0 * Added project ID for each build based on project name, branch name, and commit hash * Build zips and shasums for each --- .gitignore | 1 + Dockerfile | 2 ++ docker-compose.yml | 2 +- entrypoint.sh | 51 +++++++++++++++++++++++++++++++++++++--------- 4 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/Dockerfile b/Dockerfile index dcc7de7..49ef939 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM cjpalmer/godot:0.1.0 +RUN apt update -y && apt install -y zip + ADD ./entrypoint.sh . ENTRYPOINT [ "./entrypoint.sh" ] diff --git a/docker-compose.yml b/docker-compose.yml index e6a35d3..094e53b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: '3' services: godot-builder: build: . - image: cjpalmer/godot-builder:0.1.0 + image: cjpalmer/godot-builder:0.2.0 volumes: - godot-build:/build - godot-project:/project diff --git a/entrypoint.sh b/entrypoint.sh index 27c3ef5..c320ad0 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,6 +6,7 @@ [[ -z "$URI_PROJECT_SNAPSHOT" ]] && echo No URI_PROJECT_SNAPSHOT, exiting && exit 1 +echo -------------------------------------------------------------------------------- echo Getting project - $URI_PROJECT_SNAPSHOT DIR_BUILD=/build @@ -16,19 +17,20 @@ wget $URI_PROJECT_SNAPSHOT && \ rm *.tar.gz DIR_PROJECT=$(find $DIR_PROJECT_ROOT -type f -name project.godot | sed 's|/project.godot||') +PROJECT_ID=$(echo $DIR_PROJECT | awk -F/ '{print $NF}') echo Project directory - $DIR_PROJECT ################################################################################ # execute project build -DIR_DEBUG=$DIR_BUILD/debug -DIR_RELEASE=$DIR_BUILD/release +DIR_DEBUG=$DIR_BUILD/$PROJECT_ID/debug +DIR_RELEASE=$DIR_BUILD/$PROJECT_ID/release -GODOT="godot" -GODOT_OPTS="--headless --path $DIR_PROJECT" +GODOT="godot --headless --path $DIR_PROJECT" EXPORT_PRESETS_CFG="$DIR_PROJECT/export_presets.cfg" +echo -------------------------------------------------------------------------------- echo Godot version - $($GODOT --headless --version) # iterate through all build types present in config file @@ -42,7 +44,7 @@ fi for EXPORT_NAME in $EXPORT_NAMES do - echo + echo -------------------------------------------------------------------------------- echo Starting project build for export $EXPORT_NAME # create build folders @@ -54,9 +56,38 @@ do '$1=="name" && $2~name{f=1} f==1 && $1=="export_path"{print $2;exit}' \ $EXPORT_PRESETS_CFG | sed -e 's|^.*/||' -e 's/"//g') - # do build! - echo $GODOT $GODOT_OPTS --export-debug "$EXPORT_NAME" $DIR_DEBUG/$EXPORT_NAME/$EXPORT_FNAME - $GODOT $GODOT_OPTS --export-debug "$EXPORT_NAME" $DIR_DEBUG/$EXPORT_NAME/$EXPORT_FNAME - echo $GODOT $GODOT_OPTS --export-release "$EXPORT_NAME" $DIR_RELEASE/$EXPORT_NAME/$EXPORT_FNAME - $GODOT $GODOT_OPTS --export-release "$EXPORT_NAME" $DIR_RELEASE/$EXPORT_NAME/$EXPORT_FNAME + DEBUG_BUILD_PATH=$DIR_DEBUG/$EXPORT_NAME/$EXPORT_FNAME + RELEASE_BUILD_PATH=$DIR_RELEASE/$EXPORT_NAME/$EXPORT_FNAME + + ###### + # do debug and release builds! + echo $GODOT --export-debug "$EXPORT_NAME" $DEBUG_BUILD_PATH + $GODOT --export-debug "$EXPORT_NAME" $DEBUG_BUILD_PATH + + echo $GODOT --export-release "$EXPORT_NAME" $RELEASE_BUILD_PATH + $GODOT --export-release "$EXPORT_NAME" $RELEASE_BUILD_PATH + + ###### + # zip debug and release builds and shasum them + for DIR in $DIR_DEBUG $DIR_RELEASE + do + ZIP_PATH=$DIR/$EXPORT_NAME + echo + echo Zipping $ZIP_PATH + zip $EXPORT_NAME $ZIP_PATH && mv *.zip $DIR + done done + +echo -------------------------------------------------------------------------------- +echo Computing shasums for zip files + +for DIR in $DIR_DEBUG $DIR_RELEASE +do + $(cd $DIR && sha1sum *.zip >shasum.txt) + + echo + echo SHASUM from $DIR - + + find $DIR -type f -name shasum.txt | xargs cat +done + -- 2.47.2