[FLINK-36564][ci] Running CI in random timezone to expose more time related bugs

This closes  #3650
pull/3917/head
Kunni 2 weeks ago committed by GitHub
parent cd1fb6f980
commit b44e5708b8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -151,6 +151,9 @@ jobs:
- name: Compile and test - name: Compile and test
timeout-minutes: 60 timeout-minutes: 60
run: | run: |
. .github/workflows/utils.sh
jvm_timezone=$(random_timezone)
echo "JVM timezone is set to $jvm_timezone"
set -o pipefail set -o pipefail
case ${{ inputs.module }} in case ${{ inputs.module }} in
@ -218,7 +221,7 @@ jobs:
build_maven_parameter="${build_maven_parameter:+$build_maven_parameter }${{ inputs.custom-maven-parameter }}" build_maven_parameter="${build_maven_parameter:+$build_maven_parameter }${{ inputs.custom-maven-parameter }}"
mvn --no-snapshot-updates -B -DskipTests -pl $compile_modules -am install && mvn --no-snapshot-updates -B $build_maven_parameter -pl $modules -DspecifiedParallelism=${{ inputs.parallelism }} verify mvn --no-snapshot-updates -B -DskipTests -pl $compile_modules -am install && mvn --no-snapshot-updates -B $build_maven_parameter -pl $modules -DspecifiedParallelism=${{ inputs.parallelism }} -Duser.timezone=$jvm_timezone verify
- name: Print JVM thread dumps when cancelled - name: Print JVM thread dumps when cancelled
if: ${{ failure() }} if: ${{ failure() }}

@ -0,0 +1,31 @@
#!/usr/bin/env bash
################################################################################
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
################################################################################
function random_timezone() {
local rnd=$(expr $RANDOM % 25)
local hh=$(expr $rnd / 2)
local mm=$(expr $rnd % 2 \* 3)"0"
local sgn=$(expr $RANDOM % 2)
if [ $sgn -eq 0 ]
then
echo "GMT+$hh:$mm"
else
echo "GMT-$hh:$mm"
fi
}
Loading…
Cancel
Save