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
> >
>

Reply via email to