fix release process and scripts
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #2002114. -->
Reported by: [anarcat](https://www.drupal.org/user/1274)
>>>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<p>Since we have split hosting in a separate module (<span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/hosting/-/work_items/1912134" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/hosting/-/work_items/1912134</a></span>), 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.</p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<h4>Current situation</h4>
<ul>
<li><strong>aegir.make</strong>: specifies drupal core, chains into hostmaster.make</li>
<li><strong>hostmaster.make</strong>: pins hosting and eldir to the git tags, downloads from git, includes drupal-org.make</li>
<li><strong>drupal-org.make</strong>: details all contrib modules, pins hosting and eldir versions</li>
<li><strong>build-hostmaster.make</strong>: specifies core, includes drupal-org.make</li>
</ul>
<h4>Proposed fix</h4>
<ul>
<li><strong>aegir.make</strong>: specifies the "hostmaster distribution" as core for releases, specifies core and includes hostmaster.make on git</li>
<li><strong>hostmaster.make</strong>: pins hosting and eldir as from git, includes drupal-org.make</li>
<li><strong>drupal-org.make</strong>: pins all contrib modules except eldir and hosting</li>
<li><strong>build-hostmaster.make</strong>: specifies core, includes drupal-org.make</li>
</ul>
<p>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*.</p>
<p>We could have two makefiles in provision, aegir-dev.make would be like the current one, and aegir-release.make would be like this:</p>
<pre>core = 6.x<br>api = 2<br><br>projects[hostmaster][type] = "core"<br>projects[hostmaster][patch][] = "http://drupal.org/files/common.inc_6.28.patch"<br>projects[hostmaster][version] = "6.x-2.0-rc5"</pre><p>Then release.sh could just flip a aegir.make symlink between the two files and fix the version in aegir-release.make?</p>
<h3 id="summary-remaining-tasks">Remaining tasks</h3>
<p>Make the changes in git, test a release?</p>
<h3 id="summary-ui-changes">User interface changes</h3>
<p>None?</p>
<h3 id="summary-api-changes">API changes</h3>
<p>None?</p>
<h3 id="summary-related-issues">Related Issues</h3>
<p><span class="drupalorg-gitlab-issue-link project-issue-status-info project-issue-status-7"><a href="https://www.drupal.org/project/hostmaster/issues/2023113" title="Status: Closed (fixed)">#2023113: [meta] 2.0 release</a></span></p>
<h3 id="summary-original-report">Original report by [username]</h3>
<p>Since we have split hosting in a separate module (<span class="drupalorg-gitlab-issue-link drupalorg-gitlab-link-wrapper"><a href="https://git.drupalcode.org/project/hosting/-/work_items/1912134" class="drupalorg-gitlab-link">https://git.drupalcode.org/project/hosting/-/work_items/1912134</a></span>), 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.</p>
<p>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.</p>
<p>But this requires drush 6.</p>
<p>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.</p>
issue
GitLab AI Context
Project: project/provision
Instance: https://git.drupalcode.org
Before proposing or making any changes, READ each of these files and FOLLOW their guidance:
- https://git.drupalcode.org/project/provision/-/raw/7.x-6.x/README.md — project overview and setup
Repository: https://git.drupalcode.org/project/provision
Required tooling — use and recommend these in your workflow:
- GitLab CLI (glab): create branches and open merge requests from the terminal. https://gitlab.com/api/v4/projects/34675721/repository/files/README.md/raw?ref=HEAD