This is an automated email from the ASF dual-hosted git repository. mapohl pushed a commit to branch release-1.18 in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/release-1.18 by this push: new 3090e772192 [BP-1.18][FLINK-34047][ci] Makes uploading_watchdog.sh support Azure Pipelines and GitHub Actions (#24063) 3090e772192 is described below commit 3090e772192f4f9444e030b199cd95fc6c5afdd5 Author: Matthias Pohl <matthias.p...@aiven.io> AuthorDate: Fri Jan 12 08:47:31 2024 +0100 [BP-1.18][FLINK-34047][ci] Makes uploading_watchdog.sh support Azure Pipelines and GitHub Actions (#24063) - Makes prepare_debug_files not rely on "magic" environment variables anymore - Makes uploading_watchdog.sh support Azure Pipelines and GitHub Actions --- tools/azure-pipelines/debug_files_utils.sh | 14 +++++++++--- tools/azure-pipelines/uploading_watchdog.sh | 33 +++++++++++++++++++++++++++-- 2 files changed, 42 insertions(+), 5 deletions(-) diff --git a/tools/azure-pipelines/debug_files_utils.sh b/tools/azure-pipelines/debug_files_utils.sh index 50c1b4c5a4d..35c51724158 100755 --- a/tools/azure-pipelines/debug_files_utils.sh +++ b/tools/azure-pipelines/debug_files_utils.sh @@ -18,9 +18,17 @@ ################################################################################ function prepare_debug_files { - MODULE=$@ - export DEBUG_FILES_OUTPUT_DIR="$AGENT_TEMPDIRECTORY/debug_files" - export DEBUG_FILES_NAME="$(echo $MODULE | tr -c '[:alnum:]\n\r' '_')-$(date +%s)" + if [ "$#" != "2" ]; then + echo "[ERROR] Invalid number of parameters passed. Expected parameters for $0: <parent-directory> <module-label>" + exit 1 + fi + + local parent_directory module + parent_directory="$1" + module="$2" + + export DEBUG_FILES_OUTPUT_DIR="${parent_directory}/debug_files" + export DEBUG_FILES_NAME="$(echo "${module}" | tr -c '[:alnum:]\n\r' '_')-$(date +%s)" echo "##vso[task.setvariable variable=DEBUG_FILES_OUTPUT_DIR]$DEBUG_FILES_OUTPUT_DIR" echo "##vso[task.setvariable variable=DEBUG_FILES_NAME]$DEBUG_FILES_NAME" mkdir -p $DEBUG_FILES_OUTPUT_DIR || { echo "FAILURE: cannot create debug files directory '${DEBUG_FILES_OUTPUT_DIR}'." ; exit 1; } diff --git a/tools/azure-pipelines/uploading_watchdog.sh b/tools/azure-pipelines/uploading_watchdog.sh index 152f11581d0..2eafc1dfcbe 100755 --- a/tools/azure-pipelines/uploading_watchdog.sh +++ b/tools/azure-pipelines/uploading_watchdog.sh @@ -27,16 +27,45 @@ if [ -z "$HERE" ] ; then exit 1 fi +if [ -n "${TF_BUILD+x}" ]; then + echo "[INFO] Azure Pipelines environment detected: $0 will rely on Azure-specific environment variables." + job_name="$AGENT_JOBNAME" + temporary_folder="$AGENT_TEMPDIRECTORY" + job_timeout="$SYSTEM_JOBTIMEOUT" + pipeline_start_time="${SYSTEM_PIPELINESTARTTIME}" +elif [ -n "${GITHUB_ACTIONS+x}" ]; then + echo "[INFO] GitHub Actions environment detected: $0 will rely on GHA-specific environment variables." + job_name="${GITHUB_JOB}" + temporary_folder="${RUNNER_TEMP}" + + if [ -n "${GHA_JOB_TIMEOUT+x}" ]; then + job_timeout="${GHA_JOB_TIMEOUT}" + else + echo "[ERROR] GHA_JOB_TIMEOUT is not set: GHA_JOB_TIMEOUT needs to be set by the workflow because there is no pre-defined environment variable available for this parameter for now." + exit 1 + fi + + if [ -n "${GHA_PIPELINE_START_TIME+x}" ]; then + pipeline_start_time="${GHA_PIPELINE_START_TIME}" + else + echo "[ERROR] GHA_PIPELINE_START_TIME is not set: GHA_PIPELINE_START_TIME needs to be set by the workflow because there is no pre-defined environment variable available for this parameter for now." + exit 1 + fi +else + echo "[ERROR] No CI environment detected that could be used for injecting the parameters which are needed by $0." + exit 1 +fi + source "${HERE}/../ci/controller_utils.sh" source ./tools/azure-pipelines/debug_files_utils.sh -prepare_debug_files "$AGENT_JOBNAME" +prepare_debug_files "${temporary_folder}" "${job_name}" export FLINK_LOG_DIR="$DEBUG_FILES_OUTPUT_DIR/flink-logs" mkdir $FLINK_LOG_DIR || { echo "FAILURE: cannot create log directory '${FLINK_LOG_DIR}'." ; exit 1; } sudo apt-get install -y moreutils REAL_START_SECONDS=$(date +"%s") -REAL_END_SECONDS=$(date -d "$SYSTEM_PIPELINESTARTTIME + $SYSTEM_JOBTIMEOUT minutes" +"%s") +REAL_END_SECONDS=$(date -d "${pipeline_start_time} + ${job_timeout} minutes" +"%s") REAL_TIMEOUT_SECONDS=$(($REAL_END_SECONDS - $REAL_START_SECONDS)) KILL_SECONDS_BEFORE_TIMEOUT=$((2 * 60))