[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Testing] Splitting pre-commits from post-commit test targets

Useful and really practical idea!


On Tue, Nov 20, 2018 at 10:37 AM Ruoyun Huang <ruoyun@xxxxxxxxxx> wrote:
+1 Great improvement!  Thanks Scott! 

On Tue, Nov 20, 2018 at 10:33 AM Pablo Estrada <pabloem@xxxxxxxxxx> wrote:
I think this is a great idea, and a good improvement. Thanks Scott!

On Tue, Nov 20, 2018 at 10:09 AM Scott Wegner <scott@xxxxxxxxxx> wrote:
I wanted to give a heads-up to a small optimization that I hope to make to our Jenkins test targets. Currently our post-commit test jobs also redundantly run pre-commit tests. I'd like to remove redundant execution to get a faster post-commit test signal. See: https://github.com/apache/beam/pull/7073 

In Jenkins we run pre-commits separately from post-commits, and in all cases when a language post-commit suite runs, the pre-commit is also run in a separate job (in PR, on merge, cron schedule). So, it makes sense to separate the targets. This will free up resources and give a faster signal on post-commit suites as they are doing less work.

From a quick test, this shaves 27 mins off of Python post-commits, 10 mins from Java, and ~1 minute from Go.

The only negative impact I could imagine is if during local development you were running `./gradlew :langPostCommit` as a shortcut to run all tests. Now, in order to also run tests from pre-commit, you'd need to specify it separately: `./gradlew :langPreCommit :langPostCommit`

Got feedback? 

Ruoyun  Huang