As the maintainer of several extensions for TYPO3 CMS, I have always found the release process to the TER a little bit tedious. In fact, the operation is more complicated than it seems. We must be very carful about every detail: Git tags, commit message, update the correct version number, etc... To help in this task, I have a checklist that I follow step by step. But still! And if all goes well, the procedure takes arourd 10 to 15 minutes per extension.
The underlying idea was to trigger the upload via the creation of a Git tag. Having discussed the matter with my colleague Adrien, we followed the approach explained in detail in this article written by Claus Due. The verbosity of the article can let thing about something complexd to set up. It is not so! The implementation can be summarized in a few steps.
- Create a subdomain, eg http://release.example.com
- Clone extension https://github.com/Ecodev/fluidtypo3-gizzle, the "web" folder to be the root of the document root.
- Add a webhook for the project on GitHub
- URL: http://release.example.com/?settings=settings/ExtensionRelease.yml
- Secret: 12356
- Transfer the key extension to a member "release" on typo3.org. This step is optional but recommended.
- Update the version number in the file
- Create a tag and push this tag with the command
git push --tags, the extension is uploaded to TER with a generic message that points to the log on Github. Very convenient!
A few screenshots
The setup of the Webhook
Analysis of paylod to verify what has been sent to Webhook.
The return of the Webhook actually corresponding to the message sent by the TER.
This article is available in French also.