Skip to content

Conversation

@kitsiosk
Copy link
Contributor

Change Summary

Added custom timeout for php job of the Classify command test workflow based on historical data that could lead to resource savings and faster CI for the project.

More details

Over the last 212 successful runs, the php job has a maximum runtime duration of 24 minutes (mean=11, std=4) across all matrix combinations.

However, there are failed runs that fail after reaching the threshold of 6 hours that GitHub imposes. In other words, these jobs seem to get stuck, possibly for external or random reasons.

One such example is this job run, that failed after 6 hours.

The idea is to set a timeout to stop jobs that run much longer than their historical maximum, because such jobs are probably stuck and will simply fail after GitHub's timeout of 6 hours.

Our PR proposes to set the timeout to max + 3*std = 36 minutes where max and std (standard deviation) are derived from the history of 212 successful runs. This will provide sufficient margin if the workflow gets naturally slower in the future, but if you would prefer lower/higher threshold we would be happy to do it.

Note that the timeout applies to all the matrix jobs, and not to their sum, overriding the default 6-hour timeout of github.

Click here to see all the recently timed-out runs.

10-May-2025 => timed-out-run
25-Mar-2025 => timed-out run

Context

Hi,

We are a team of researchers from University of Zurich and we are currently working on energy optimizations in GitHub Actions workflows.

Thanks for your time on this and for your contribution to open-source software in general.

Feel free to let us know (here or in the email below) if you have any questions, and thanks for putting in the time to read this.

Best regards,
Konstantinos Kitsios
[email protected]

@marcelklehr marcelklehr merged commit 9883f8a into nextcloud:main Jul 21, 2025
33 checks passed
@github-actions
Copy link

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process.

Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6

Thank you for contributing to Nextcloud and we hope to hear from you soon!

(If you believe you should not receive this message, you can add yourself to the blocklist.)

@marcelklehr
Copy link
Member

Hi @kitsiosk !
Thank you again for taking the time to contribute to Nextcloud! There is a community talk instance with a room for the integrations team that I'm part of. I'd like to invite you to join this room. I can send the invite to [email protected] if you are interested. 💙

Cheers
Marcel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants