![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/elasticsearch/elasticsearch/.ci/ |
#!/usr/bin/env bash # ------------------------------------------------------- # # # Skeleton for common build entry script for all elastic # clients. Needs to be adapted to individual client usage. # # Must be called: ./.ci/make.sh <target> <params> # # Version: 1.1.0 # # Targets: # --------------------------- # assemble <VERSION> : build client artefacts with version # bump <VERSION> : bump client internals to version # codegen <VERSION> : generate endpoints # docsgen <VERSION> : generate documentation # examplegen : generate the doc examples # clean : clean workspace # # ------------------------------------------------------- # # ------------------------------------------------------- # # Bootstrap # ------------------------------------------------------- # script_path=$(dirname "$(realpath -s "$0")") repo=$(realpath "$script_path/../") # shellcheck disable=SC1090 CMD=$1 TASK=$1 TASK_ARGS=() VERSION=$2 STACK_VERSION=$VERSION set -euo pipefail product="elastic/elasticsearch-php" output_folder=".ci/output" codegen_folder=".ci/output" OUTPUT_DIR="$repo/${output_folder}" REPO_BINDING="${OUTPUT_DIR}:/sln/${output_folder}" mkdir -p "$OUTPUT_DIR" echo -e "\033[34;1mINFO:\033[0m PRODUCT ${product}\033[0m" echo -e "\033[34;1mINFO:\033[0m VERSION ${STACK_VERSION}\033[0m" echo -e "\033[34;1mINFO:\033[0m OUTPUT_DIR ${OUTPUT_DIR}\033[0m" # ------------------------------------------------------- # # Parse Command # ------------------------------------------------------- # case $CMD in clean) echo -e "\033[36;1mTARGET: clean workspace $output_folder\033[0m" rm -rfv "$output_folder" echo -e "\033[32;1mTARGET: clean - done.\033[0m" exit 0 ;; assemble) if [ -v $VERSION ]; then echo -e "\033[31;1mTARGET: assemble -> missing version parameter\033[0m" exit 1 fi echo -e "\033[36;1mTARGET: assemble artefact $VERSION\033[0m" TASK=release TASK_ARGS=("$VERSION" "$output_folder") ;; codegen) if [ -v $VERSION ]; then echo -e "\033[31;1mTARGET: codegen -> missing version parameter\033[0m" exit 1 fi echo -e "\033[36;1mTARGET: codegen API v$VERSION\033[0m" TASK=codegen # VERSION is BRANCH here for now TASK_ARGS=("$VERSION" "$codegen_folder") ;; docsgen) if [ -v $VERSION ]; then echo -e "\033[31;1mTARGET: docsgen -> missing version parameter\033[0m" exit 1 fi echo -e "\033[36;1mTARGET: generate docs for $VERSION\033[0m" TASK=codegen # VERSION is BRANCH here for now TASK_ARGS=("$VERSION" "$codegen_folder") ;; examplesgen) echo -e "\033[36;1mTARGET: generate examples\033[0m" TASK=codegen # VERSION is BRANCH here for now TASK_ARGS=("$VERSION" "$codegen_folder") ;; bump) if [ -v $VERSION ]; then echo -e "\033[31;1mTARGET: bump -> missing version parameter\033[0m" exit 1 fi echo -e "\033[36;1mTARGET: bump to version $VERSION\033[0m" TASK=bump # VERSION is BRANCH here for now TASK_ARGS=("$VERSION") ;; *) echo -e "\nUsage:\n\t $CMD is not supported right now\n" exit 1 esac # ------------------------------------------------------- # # Build Container # ------------------------------------------------------- # #echo -e "\033[34;1mINFO: building $product container\033[0m" #docker build --file .ci/Dockerfile --tag ${product} \ # --build-arg USER_ID="$(id -u)" \ # --build-arg GROUP_ID="$(id -g)" . # ------------------------------------------------------- # # Run the Container # ------------------------------------------------------- # #echo -e "\033[34;1mINFO: running $product container\033[0m" #docker run \ # --env "DOTNET_VERSION" \ # --name test-runner \ # --volume $REPO_BINDING \ # --rm \ # $product \ # /bin/bash -c "./build.sh $TASK ${TASK_ARGS[*]} && chown -R $(id -u):$(id -g) ." # ------------------------------------------------------- # # Post Command tasks & checks # ------------------------------------------------------- # if [[ "$CMD" == "assemble" ]]; then artefact_name="elasticsearch-php-${VERSION}" echo -e "\033[34;1mINFO: copy artefacts\033[0m" rsync -arv --exclude=.ci --exclude=.git --filter=':- .gitignore' "$PWD" "${output_folder}/." echo -e "\033[34;1mINFO: rename artefacts\033[0m" mv -v "${output_folder}/elasticsearch-php" "${output_folder}/${artefact_name}" echo -e "\033[34;1mINFO: build artefacts\033[0m" cd ./.ci/output && tar -czvf ${artefact_name}.tar.gz "${artefact_name}/." && cd - echo -e "\033[34;1mINFO: cleanup\033[0m" rm -Rf "${output_folder}/${artefact_name}" echo -e "\033[34;1mINFO: validate artefact\033[0m" proof=`ls ${output_folder}` if [ $proof == "${artefact_name}.tar.gz" ]; then echo -e "\033[32;1mTARGET: assemble - success: $artefact_name.tar.gz\033[0m" else echo -e "\033[31;1mTARGET: assemble failed, empty workspace!\033[0m" exit 1 fi fi if [[ "$CMD" == "bump" ]]; then echo "TODO" fi if [[ "$CMD" == "codegen" ]]; then echo "TODO" fi if [[ "$CMD" == "docsgen" ]]; then echo "TODO" fi if [[ "$CMD" == "examplesgen" ]]; then echo "TODO" fi