Enhance PR Testing Process: Implement Retry Mechanism and Expand `/test` Command Functionality
What feature is it?
Improve the PR testing process, specifically:
- Implement a retry mechanism for Puppeteer routes that are likely to time out after 30 seconds.
- Enhance the
/testcommand to be applicable for testing changes in PRs, not just the master branch.
What problem does this feature solve?
- Currently, Puppeteer routes often time out after 30 seconds, resulting in 503 errors. There are no subsequent attempts to retest after such failures, leading to unreliable test results.
- The
/testcommand is currently limited to testing the RSSHub running status of the master branch in the current repository. This doesn't allow for effective testing of changes proposed in PRs.
Additional description
Implementing these features would significantly improve the reliability and efficiency of our testing process. It would reduce false negatives in our CI pipeline and allow contributors to more effectively test their changes before merging.
This is not a duplicated feature request or new RSS proposal
- [X] I have searched existing issues to ensure this feature has not already been requested and this is not a new RSS proposal.
The /test command does not cover PRs since one can trigger it by an empty commit or editting the PR title/description, which IMHO much faster than typing /test and copy pasting the ```routes``` section.
The
/testcommand does not cover PRs since one can trigger it by an empty commit or editting the PR title/description, which IMHO much faster than typing/testand copy pasting theroutessection.
However, this method doesn't support testing specific routes only, such as when previous test results returned 503 errors. Specifically, I'm referring to the situation I encountered in my previous PR: #17131.
Currently, if I only want to test the following routes, it's not possible to do so.
/picuki/profile/stefaniejoosten/tagged
/picuki/profile/stefaniejoosten/tagged/0
Additionally, this is the testing process I conducted in my forked repository: https://github.com/NekoAria/RSSHub/pull/2. This should give you a clear understanding of why I believe this feature is meaningful.