Skip to content

Commit

Permalink
[FLINK-36564][ci] Running CI in random timezone to expose more time r…
Browse files Browse the repository at this point in the history
…elated bugs.
  • Loading branch information
lvyanquan committed Oct 18, 2024
1 parent dd69756 commit a5d6c2f
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
5 changes: 4 additions & 1 deletion .github/workflows/flink_cdc_base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,9 @@ jobs:
- name: Compile and test
timeout-minutes: 60
run: |
. .github/workflows/utils.sh
jvm_timezone=$(random_timezone)
echo "JVM timezone is set to $jvm_timezone"
set -o pipefail
case ${{ inputs.module }} in
Expand Down Expand Up @@ -205,7 +208,7 @@ jobs:
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 verify
mvn --no-snapshot-updates -B -DskipTests -pl $compile_modules -am install && mvn --no-snapshot-updates -B $build_maven_parameter -pl $modules verify -Duser.timezone=$jvm_timezone
- name: Print JVM thread dumps when cancelled
if: ${{ failure() }}
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/utils.sh
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit a5d6c2f

Please sign in to comment.