I would try to avoid randomness in any CI runs.
I might be able to accept it if it is very easy/straightforward to repro the 
random generation.

Otherwise we might end up with randomly failing CI tests which we can not repro.

> On Mar 2, 2021, at 13:40, russell.spit...@gmail.com wrote:
> 
> What if we had the Ci time zone be random?
> 
> Sent from my iPhone
> 
>> On Mar 2, 2021, at 5:54 AM, Peter Vary <pv...@cloudera.com.invalid> wrote:
>> 
>> Maybe separating the unit tests for this would not worth the effort.
>> 
>> I was thinking we should run the tests like this:
>> 
>> diff --git a/build.gradle b/build.gradle
>> index fd716e12..9b361ea7 100644
>> --- a/build.gradle
>> +++ b/build.gradle
>> @@ -133,6 +133,9 @@ subprojects {
>>    }
>>  
>>    test {
>> +    if (project.hasProperty("isCI")) {
>> +      systemProperty "user.timezone", "Asia/Colombo"
>> +    }
>>      def logDir = "${rootDir}/build/testlogs"
>>      def logFile = "${logDir}/${project.name}.log"
>>      mkdir("${logDir}")
>> 
>> This would set the timezone to a specific non-UTC TZ on the CI server only.
>> Pros:
>> We know that at least once we run the tests with non-UTC timezone
>> By default every dev runs the tests in their own TZ, so we still test with 
>> multiple TZs
>> Cons:
>> The TZ most often tested will change from UTC to the selected one
>> 
>> For me it looks like a simple change which should be ok if we want to change 
>> the TZ.
>> 
>> Thanks,
>> Peter
>> 
>>> On Mar 1, 2021, at 22:34, Owen O'Malley <owen.omal...@gmail.com 
>>> <mailto:owen.omal...@gmail.com>> wrote:
>>> 
>>> In ORC, the timezone tests vary the default timezone through multiple 
>>> values using the Java APIs. (They do restore the initial value when the 
>>> test exits.) :)
>>> 
>>> .. Owen
>>> 
>>> On Mon, Mar 1, 2021 at 9:25 PM Edgar Rodriguez 
>>> <edgar.rodrig...@airbnb.com.invalid 
>>> <mailto:edgar.rodrig...@airbnb.com.invalid>> wrote:
>>> Hi folks,
>>> 
>>> Thanks Peter for the quick fix! 
>>> 
>>> I do think it'd be a good idea to have this kind of coverage to some 
>>> extent. Usually, a workflow some users follow is to only run locally the 
>>> modules that they modify and rely on the CI to run the full check which 
>>> takes longer, which makes room for these issues to land in master while 
>>> eventually someone will find the broken test. However, I do agree that we 
>>> probably should not spend a large amount of time on this - ideally if this 
>>> is possible in CI that'd be great e.g. having two CI jobs, one for UTC and 
>>> another for a different TZ.
>>> 
>>> Cheers,
>>> 
>>> On Mon, Mar 1, 2021 at 2:52 PM Ryan Blue <rb...@netflix.com.invalid 
>>> <mailto:rb...@netflix.com.invalid>> wrote:
>>> I'm not sure it would be worth separating out the timezone tests to do 
>>> this. I think we catch these problems pretty quickly with the number of 
>>> users building in different zones. Is this something we want to spend time 
>>> on?
>>> 
>>> On Mon, Mar 1, 2021 at 10:29 AM Russell Spitzer <russell.spit...@gmail.com 
>>> <mailto:russell.spit...@gmail.com>> wrote:
>>> In the Spark Cassandra Connector we had a similar issue, we would 
>>> specifically spawn test JVM's with different default local time zones to 
>>> make sure we handled these use cases, I also would make our test dates ones 
>>> on gregorian calendar boundaries so being an hour off with result in a 
>>> timestamp that would end up actually being several days off so it was 
>>> clear. 
>>> 
>>> So maybe it makes sense to break out some timestamp specific tests and have 
>>> them run with different local timezones? Then you have a UTC, PST, CEU or 
>>> whatever test suites to run. If we scope this to just timestamp specific 
>>> tests it shouldn't be that much more expensive and I do think the coverage 
>>> is important.
>>> 
>>> On Mon, Mar 1, 2021 at 12:25 PM Peter Vary <pv...@cloudera.com.invalid 
>>> <mailto:pv...@cloudera.com.invalid>> wrote:
>>> Hi Team,
>>> 
>>> Last weekend I caused a little bit of stir by pushing changes which had a 
>>> green run on CI, but was failing locally if the default TZ was different 
>>> than UTC.
>>> 
>>> Do we want to set the TZ of the CI tests to some random non-UTC TZ to catch 
>>> these errors?
>>> 
>>> Pros:
>>> We can catch tests which are only working in UTC
>>> 
>>> Cons:
>>> I think the typical TZ is UTC in our target environments, so catching UTC 
>>> problems might be more important
>>> 
>>> I am interested in your thoughts about this.
>>> 
>>> Thanks,
>>> Peter
>>> 
>>> 
>>> -- 
>>> Ryan Blue
>>> Software Engineer
>>> Netflix
>>> 
>>> 
>>> -- 
>>> Edgar R
>> 

Reply via email to