nextcloud / server

☁️ Nextcloud server, a safe home for all your data
https://nextcloud.com
GNU Affero General Public License v3.0
27.27k stars 4.06k forks source link

Automated preview environments at pull requests #38368

Open dakar91 opened 1 year ago

dakar91 commented 1 year ago

How to use GitHub

Is your feature request related to a problem? Please describe. Maintainers are reviewing pull requests only by looking at the code or pulling the branch locally, building and testing it there, which is time consuming.

Describe the solution you'd like I would like to propose the integration of automated preview environments at pull requests in Nextcloud. This feature would allow contributors to have a dedicated environment automatically created for each pull request, enabling them to test their changes in a controlled environment without impacting the main instance. It would streamline the review process, enhance collaboration, and reduce the risk of introducing bugs or regressions.

Describe alternatives you've considered One alternative would be manual setup of preview environments for each pull request, but this would require significant time and effort from contributors and reviewers. Another option would be relying solely on local testing environments, but this approach may not accurately reflect the production environment and can lead to inconsistencies.

Additional context Automated preview environments for Pull Requests would provide several benefits:

Bunnyshell's platform offers a comprehensive solution for automated preview environments, which could be seamlessly integrated into Nextcloud's pull request workflow. This feature would greatly enhance the development experience for contributors and reviewers, ultimately leading to higher-quality contributions and improved stability in Nextcloud.

Bunnyshell will implement this feature and cover the infrastructure costs as part of our Open Source initiative if it's considered to be of interest by maintainers.

kesselb commented 1 year ago

Updated the link to Bunnyshell.

dakar91 commented 1 year ago

Adding more context here:

Bunnyshell is providing free infrastructure to preview PRs for open source projects.. Our team @bunnyshell and @bunnyshellosi are ready to help implement the initial pipeline to get you started!

If interested, some external contact info would be great to sync faster or please email hello@bunnyshell.com

dakar91 commented 1 year ago

Hey @nickvergessen maybe you could have a quick look at this issue since you've been working lately with the github workflows? We'd love to help out. Thank you.

nickvergessen commented 1 year ago

Hi there,

checked a bit with others internally and we are not sure this is beneficial for us at the moment. One of the main points is that every developer has a different setup with different database, apps, user backend, etc. So every reviewer tests more/different aspects which is quite beneficial. If there would be a one-click thing available and every used that, no one would run it locally any more and instead every deverkio tests with the same setup and the cross compatibility issues are only noticed much later or even after releasing.

Also from an environmental perspective 🍃 I see a lot of additional energy being burned to create ad-hoc installations that then lie around (or worst are kept up to date) for days/weeks and are never visited again.

But that's only my personal view.

dakar91 commented 1 year ago

@nickvergessen thanks for the input:

Please let me know if that approach would be interesting.

I noticed @marcelklehr @EWouters liked the initial issue comment, maybe you can also share your opinion.

Thank you.