We can disassemble the test case, it is estimated that it will be faster. --
Best Regards ------------ Liugddx [email protected] yu zelin <[email protected]> 于2023年8月21日周一 10:07写道: > Hi, all, > > Currently, we can set `timeout-minutes: 60` to longer time as a temporary > solution. > > Best, > Zelin Yu > > On Mon, Aug 21, 2023 at 9:49 AM Jingsong Li <[email protected]> > wrote: > > > Thanks Zhuoyu for your driving. > > > > Currently, Frequent timeout because we merge build and test into one > > stage. Github testing timeout 1H for one stage. So there are lots of > > timeout now. > > > > But if we can optimize testing time is better. > > > > Thanks for your idea. > > > > Maybe we can list all tests to show how to separate them. > > > > Best, > > Jingsong > > > > On Sun, Aug 20, 2023 at 7:39 PM 陈卓宇 <[email protected]> wrote: > > > > > > Subject: Optimizing UTCase and ITCase Flink Action Execution Time > > > > > > Hi devs, > > > > > > I've observed that the average execution time for our UTCase and ITCase > > > Flink Action has approached the critical threshold of 1 hour. Upon > > > reviewing, I found that this action corresponds to > > > `.github/workflows/utitcase-flink.yml`. The core execution command is: > > > ``` > > > mvn clean install -pl 'org.apache.paimon:paimon-flink-common' > > > -Duser.timezone=$jvm_timezone > > > ``` > > > This command runs UT and IT tests for `paimon-flink-common`. > > > > > > To optimize this, I've considered a few strategies: > > > > > > 1. **Splitting IT Tests by Functionality or Module**: By segmenting the > > IT > > > tests, we can define separate steps or jobs for each module within > GitHub > > > Actions. > > > > > > 2. **Utilizing Maven Profiles**: We can define different Maven Profiles > > in > > > the `pom.xml`, where each profile corresponds to a set of integration > > > tests. Subsequently, in GitHub Actions, we can define a distinct step > or > > > job for each profile. For instance, in `pom.xml`: > > > ```xml > > > <profiles> > > > <profile> > > > <id>ITGroup1</id> > > > <build> > > > <plugins> > > > <plugin> > > > <groupId>org.apache.maven.plugins</groupId> > > > <artifactId>maven-failsafe-plugin</artifactId> > > > <configuration> > > > <includes> > > > <include>**/ITGroup1*.java</include> > > > </includes> > > > </configuration> > > > </plugin> > > > </plugins> > > > </build> > > > </profile> > > > <!-- ... other profiles for other IT groups ... --> > > > </profiles> > > > ``` > > > And then, in the GitHub Actions configuration, we can define a step for > > > each profile: > > > ```yaml > > > - name: Run IT Group 1 > > > run: mvn -PITGroup1 verify > > > ``` > > > > > > I'd love to hear if anyone has other ideas or better approaches to this > > > issue. Let's collaborate and discuss the best way forward. > > > > > > Best regards, > > > ZhuoyuChen > > >
