<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63861>63861</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[infrastructure] Automate releases.llvm.org
</td>
</tr>
<tr>
<th>Labels</th>
<td>
infrastructure
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
tru
</td>
</tr>
</table>
<pre>
After some ad-hoc discussions with @tstellar and @asl in various places, I wanted to summarize the current questions and the path forward in an issue since I think we should automate this part of the release process asap.
## Current process
* Currently, we have the llvm/www-release repo where we change a js and add the docs to the subdir, commit, and push
* This, unfortunately, doesn't update the actual page. You then have to ssh into the machine and pull. This might fail because of permissions.
* A license file also needs to be copied to the right place and is often forgotten. See #57672
This is a suboptimal process that usually fails because of permissions or because we forget to update stuff.
## Suggestions
### Automatic deploys
* The lowest hanging fruit is to deploy from the repo to the server via rsync automatically. There is a rsync plugin for GitHub actions already available. https://github.com/marketplace/actions/action-rsync. This needs someone to help setup the ssh keys for an automated deploy. I don't have enough access on the CDN/www machine to help with this.
This would fix the permission problem.
### Autogenerated page
* As part of a PoC I converted the page to Hugo here: https://github.com/tru/releases.llvm.org, which means that the release pages would be autogenerated and no more editing html/js files.
* This is almost done but requires some fixes to be really deployable:
** The current DIRECTORY (not in the repo) contains OLD binaries from very old releases. These shouldn't be added to a Git repo since they are big. My suggestion would be to have a new webpage/subpage where we can place these statically and just refer from the Hugo pages since they will no longer be updated. I would again need help to set this up since I don't have access to that part of the infrastructure.
** documentation should also not be checked-in to the repo, really. We should have a similar way to handle those, `docs.llvm.org/<version>/index.html` or similar.
## TLDR
I am happy to help getting both the auto-deploy and the hugo generated pages working as long as I can get someone to commit to help me with the infrastructure parts that we need and I can't do, these items are:
* SSH key for deploying from github actions to a (preferably) new directory on the www server that's only writeable from this new service user.
* New directories for docs and old binaries that can be referenced from the page
* When everything works someone needs to repoint releases.llvm.org to the new directory.
Thoughts @tstellar @asl?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8V19z2zgO_zTyCyYeR0pi-8EPvmR9zcze7k3bmZ19hEhIYkORWv6x1vfpb0BKspN2-9KqFgUC-P0Bit6r1hAdisd_FY8vK4yhs-4QXFzVVl4OxyaQA297ApR3nRUglRfRe2WNh1GFDoqHTfCBtEYHaCT_G70GZeCMTtnoYdAoyBflM7zCiCaQhGDBx75Hp_5HEDoCEZ0jE-CvSD6k4ByL3wwYOmisG9FJjooGlPeRwCsjCF4hdMq8wUjgOxu1BIzB9hg4rvIwoAtgmxTKkSb0BIOzgrwH9Disi81LsTlOf5ZVUVbwPCUznZvfHecX-sLFjAQdnnP6Wp_7ojyN43g3X-JosDB25IhPig5NS4DwLVeGMlcnrfDcDX72sZbKcWhh-14FfuKzQ_TdNYevnUq9jKaxLkSDgXI-0pI3RbkNEAeZ6ydAESJqGLClNfxpI_9oprwteN-BMtP1PYpOGZqu1HqdroJetV2ABpWGmgRGT9zOgVyvMg3W19yOoJUg4wkapQlQewuGSKYSawJhB5XRT3CkyIkd6VLlwTaBDKPd2hDIrOELERRl9bh92pa3SKXUlAfkrtkhqJ6rnHANHQaIPqLWl5S5_4fUwbrlzUjpXgqc3tRBH2LT_IghX2LbTkT9_i0fOGYSKgGSBm0vH44xjATajuQDMDWUaaFxUQUuKtjpK2ic7SfqDnbhCbkzOTgrBOcvRsyMV4ILZtiYdKk5-f2gY6tSW-HfKnyKNdMii0w7QnkBPKPSWGtaQxfC4IvqWJSnojy1KnSxXgvL9O7RvVFIgBXlaYqxPN2lyybWZNTZOKxJVOtID-ApxCHX4Dt4o4tPSaFZRCunytfwCtJmOie2krGx7QBFQtiaFOX55besuoW8803JmtgA1t-xZkwu0ai_s70sbGD61Jr6H-A9I9qSIZeyZEF9hPR4dRuE_1q2O2HNmVxyvGRlbcrwU2w5TUdFdfxZv4OLRXmaDMWv2WTW1rXJfDolOugJzUT3d_6GLc111pR6e82clWYs9NYRkFSBmdeFXhfl6ZtPur1V9KIz3VsfGBKCOgZw9FdUjjLE3EyaNe4oyS7DyJTi2uZ4M_Nnu395_fzL89ffP_8JRbkzNrDBz3Qvyj33L6AyHn7_9QVqZdAp8lkVZ3IXsFrC0h-O7OcxkKnD1UuZLQeZ_FlIeXSEji6AjqBW7Rr-cwG_qPraPCYU8w_B0Agj1Qn58uRjerpxeDSTl4WcRpgVmVr-LXq-vCF3FXXiQQbrJqNRac0IaWtaYn-a3EiyJnJe2KIySWOZ7WzlbFwMVhyWyfhOQJNykodgeDcXlWkc-uCiCNHR-h1a0orYk-FirFlGbDJ2m_orOhJvJO8YOXsD3vPEhDX8sYzmqZNe9YrXhREvub9Gai7eeuLviqcNj8Ubvp-K6vlMjlVaVL8U5UkZSX-vE22fNuziU8gfefXXX18-3_78CthDh8NwWdyipZB0UNvkGlkyd5MHz4tIx2i9dwAWmXvjL9EnvPjv10QFHiQ39pcn-nJhT7NDfex-AmbS9EgZY84gRU1oytTcTDIVqPfM4avIFul--fKJLTY5bC4lDxnbQ3aZZQokcRTlbkj8xJr3iX3iu1SORLCstCxM9tpp_nCKRbllM9YXGJ0KxHKf6Z2GQD6sBEH05G585beb4EnSnCTvQlwrq3oRe-oEdzR5S0OOjCB5FdGNE5dH-IPXG2Jv4LWwTfhc59CyizBFlQnwnbfOHH5X_IcZwoMo-HeLb156i-qUz6zkoZL7ao8rOtw_7fZV-fC43a66w66S-_2G9k-iLrfbzV7ISu7utyR3Yt80db1Sh3JTVpvt_cNm97Cvtuud2DZ1vX_cPuBDdS_L4mFDPSq9ZLxK2_Dhqdo93a801qR92ubL8j2xirLkDd8d-MO7Ora-eNho5cO1-FVQQaf_C3z49PFlXmjo-5atotOHn0yxaTdO1w7OfiMRWMGcNS8PKfH_BwAA___tWk0a">