Making WordPress.org

Opened 3 years ago

Last modified 2 years ago

#1218 new enhancement

Create new build (continuous/latest) that updates after each commit

Reported by: ryan Owned by:
Milestone: Priority: normal
Component: General Keywords: beta-testing-flow


s/nightly/continuous/ Why nightly builds? Why not continuous builds? Delivering the very latest changes to beta testers through the standard WP update system is powerful and beautiful and easily done. Start with shortening the nightly build cron interval. During beta I'm asking for manual nightly build bumps several times a day so that beta testers can stay up-to-date with brisk development without having to do localhost installs, setup xip.io, svn up, and so on. Continuous testing for continuous development with one-tap update and rollback.

So, can we reduce that interval down to an hour for trunk nightlies? Does the nightly script handle two builds running at the same time gracefully? Is an hour enough padding to avoid overlapping runs? Corrupting the nightly would be bad for beta tester plugin users getting automatic nightly builds. My hope is to approach continuous builds with automated crash testing and notification.

Change History (5)

This ticket was mentioned in Slack in #meta by boren. View the logs.

3 years ago

#2 @ryan
3 years ago

Lots has landed in trunk since the last nightly. I could be testing right now instead of waiting for the next nightly.

This ticket was mentioned in Slack in #meta by sam. View the logs.

2 years ago

#4 @samuelsidler
2 years ago

  • Summary changed from Reduce the nightly build cron interval to Create new build (continuous/latest) that updates after each commit
  • Type changed from defect to enhancement

I'm changing this ticket a bit.

I think we need to create a new build, let's call it "latest.zip" for the purposes of this comment.

A nightly build – that is, every 24 hours – is important for regular testers that are running WordPress on their site, using the Beta Tester plugin, and want to keep up with changes on a regular basis. There's a limit to how frequent the build can be before it's no longer tenable for someone to use it on their site.

Conversely, a build that is generated after each commit – latest.zip – is important to testers who want to test WordPress frequently. These testers likely aren't using WordPress on their site, but are using it locally and don't want to run from source (svn/git) for whatever reason.


There are clearly different use cases and I think it's important to have both builds.

So, let's create a new build, latest.zip, that is built after each commit (or some other really low frequency like 5 minutes). Furthermore, let's get latest.zip added as an option to the Beta Tester plugin so anyone can use it. That should fix this ticket and keep both use cases in place.

#5 @dd32
2 years ago

Just voicing my opinion - I don't think there needs to be a nightly AND a latest zip.

Assuming that there's been a commit since a site last performed a background update:

  • Someone who updates to a nightly zip does it once a day at present
  • Someone who were to update using the proposed latest zip would do it twice a day

If they weren't using background updates, it'd be on-demand for both groups.
In the event there hasn't been a commit, neither of those background update scenario's would get updated, and only the on-demand manual updates kick in.

The cross-over between those two groups is large enough that catering to both isn't useful and only makes things more complex.
If someone doesn't want to be able to update to trunk continuously, or doesn't want the autoupdate running twice a day, can easily be solved using a technical solution such as "Only update every 24hrs" within a plugin.

In other words:

  • I think we should just increase how many times a day we build the nightly builds.
  • We should just rename "nightly" to something else if we really want to be specific as to the content of the file.
Note: See TracTickets for help on using tickets.