Drupal 10, the latest version of the open-source digital experience platform with even more features, is here.Problem/Motivation
Since we have split hosting in a separate module (#1912134: split hosting in its standalone module), we have some issues with the release process. We basically need to update the versions of the hosting and eldir module in the drupal-org.make file by hand at every release. That is time consuming and error prone.
Proposed resolution
Current situation
- aegir.make: specifies drupal core, chains into hostmaster.make
- hostmaster.make: pins hosting and eldir to the git tags, downloads from git, includes drupal-org.make
- drupal-org.make: details all contrib modules, pins hosting and eldir versions
- build-hostmaster.make: specifies core, includes drupal-org.make
Proposed fix
- aegir.make: specifies the "hostmaster distribution" as core for releases, specifies core and includes hostmaster.make on git
- hostmaster.make: pins hosting and eldir as from git, includes drupal-org.make
- drupal-org.make: pins all contrib modules except eldir and hosting
- build-hostmaster.make: specifies core, includes drupal-org.make
Notice how in the new way, no makefile in "hostmaster" will need any pinning. The reason this works is that we make the eldir and hosting releases before hostmaster is released - i *think*.
We could have two makefiles in provision, aegir-dev.make would be like the current one, and aegir-release.make would be like this:
core = 6.x
api = 2
projects[hostmaster][type] = "core"
projects[hostmaster][patch][] = "http://drupal.org/files/common.inc_6.28.patch"
projects[hostmaster][version] = "6.x-2.0-rc5"
Then release.sh could just flip a aegir.make symlink between the two files and fix the version in aegir-release.make?
Remaining tasks
Make the changes in git, test a release?
User interface changes
None?
API changes
None?
Related Issues
Original report by [username]
Since we have split hosting in a separate module (#1912134: split hosting in its standalone module), we have some issues with the release process. We basically need to update the versions of the hosting and eldir module in the drupal-org.make file by hand.
One thing that could help us is if we could specify the distribution version within the aegir.make file. RIght now this is not possible because we can't replace core in Drush make 5. But drush make 6 allows you to use a distribution as "core", so we could use the tagged release or the nightly builds there. Then in turn we wouldn't need to specify release numbers at all in the makefiles, as they would get built as snapshots on drupal.org in the right time.
But this requires drush 6.
Also, this wouldn't work for dev builds, since the development builds of distributinos are only nightly right now on d.o. I talked to marvil07 about this and apparently this should be fixed with the D7 deployment of drupal.org, so we could simply use tarballs all the time.










Comments
Comment #1
anarcat CreditAttribution: anarcat commentedsome more explanation of the problem
i now believe we'll have to depend on drush 6, see #2002804: [meta] depend on Drush 8.x-6.x? for that.
Comment #2
anarcat CreditAttribution: anarcat commentedIt seems we won't be able to depend on Drush 6 as this will mean depending on PHP 5.4 on Debian, which drops support for Drupal 6.
So we need to backport this: #1991764: Support using a distribution as core.
Comment #3
ergonlogicI'm raising this to 'critical', as our release process is long, and error-prone. Also, our Jenkins server appears unstable, see: #2078531: ci.aegirproject.org loses jobs after every reboot and #2078533: ci.aegirproject.org cannot send notifications to #aegir
Comment #4
helmo CreditAttribution: helmo commentedSo do we have to wait for the drush 5.10 release? Or could be use drush 5.x already.
Comment #5
anarcat CreditAttribution: anarcat commentedi think we need drush 5.10, and not only for this, but also for the flaky error reporting (#1931000: Missing drush backend output in frontend log).
Comment #6
anarcat CreditAttribution: anarcat commentedi pinged the drush people again, we're just waiting on the maintainer to push the release. it will probably happen somewhere this week. :)
note that drush is on github now, i wonder if this changes our release process?
Comment #7
anarcat CreditAttribution: anarcat commented5.10 debian packages now in the unstable archive, so we can resume work on this.
Comment #8
cweagansWhat are the remaining tasks here? Anything I can help with?
Comment #9
anarcat CreditAttribution: anarcat commentedthe next step is to start hacking at the makefiles to generate a full tarball for the hostmaster distribution that will include core and all the necessary contrib modules then deploy that in hostmaster-install instead of the bits by bits setup. we also need to fix release.sh and related scripts and documentation. see the original post and irc chat above for more information.
Comment #9.0
anarcat CreditAttribution: anarcat commentedissue summary
Comment #9.1
anarcat CreditAttribution: anarcat commentedsample makefile
Comment #9.2
ergonlogicUpdated issue summary.
Comment #10
anarcat CreditAttribution: anarcat commentedi actually committed all this into git. during my tests using drush make, things went pretty smoothly and in fact performance has increased by almost two orders of magnitude:
Yes, you read that right: 1.651s vs 63.873s! This is probably worse because I am on a networked filesystem with an office connexion, but still...
Comment #11.0
(not verified) CreditAttribution: commentedUpdated issue summary.