Production Dept. Meeting MINUTES - August 25, 2020
Production Dept. Meeting MINUTES
- August 25, 2020
1900 CEST, UTC+2
Participants: Benjamin Trenkle (Team Leader), Carlos Cámara (Team Leader), Hannes Papenberg (Team Leader), Harald Leithner (Release Lead 3.9), Mike Brandner (Team Leader), Llewellyn van der Merwe (Assistant Department Coordinator), Niels Braczek (Team Leader), Philip Walton (Team Leader), Robert Deutz (Team Leader),
Absent with notice: David Jardin (Team Leader), Marco Dings (Department Coordinator), Tobias Zulauf (Release Lead 3.10)
Absent without notice: George Wilson (Release Lead 4.0), Nicola Galgano (Team Leader), Ilagnayeru Manickam (Team Leader)
Agenda Items & minutes
Joomla Accessibility Team (Carlos Cámara Mora)
- New article in the Magazine about A11y: https://magazine.joomla.org/all-issues/august-2020/accessible-resources-for-joomla-3-x this is the kick off about a series of articles produced by the Joomla Accessibility Team, to highlight the resources immediately available to develop an accessible site in Joomla! 3, in the next issue Donato and Vito will prepare new articles on the Joomla! 3.0 accessibility resources
- Reviewing A11y issues on the media manager to pass to Benjamin Trenkle
- Requested all members to renew consent at identity portal
Automated Testing Team (Hannes Papenberg)
- Switching from Travis to Drone is progressing VERY slowly:
- Hi, a quick update from my side. As I've been bitching about consolidating our CI systems, I got Harald, Robert and me to start migrating the tasks from Jenkins to Drone. We dove into the issue and I learned after some time that I'm not exactly the right person to do this, since I would need quite a lot of access to different systems which I currently don't have and don't really want to have. So I looked at migrating repos from Travis to Drone instead, while Harald and Robert worked on Jenkins.
- Turns out I dove down a rabbit hole. I thought I might want to start with the framework project, since the repos in theory should be pretty identical and after setting up one, it should be quick to adapt all the others. When I think something this stupid next time, please someone hit me... It starts with the issue that we don't have working docker images for PHP <7.2 and even above that, the images weren't really good. It is also not easy to get a working PHP 5.3 or 5.4 image to build properly nowadays. But I can proudly say that I successfully built images for all PHP versions from 5.3 to 8.0, which all include all extensions which we require, as well as composer and PHPUnit.
- I then also started creating a configuration for the application repo. That became ... interesting ... rather quickly, since indeed the drone configuration is a lot more verbose than the travis configuration. (Something around 10 times the line count.) However that configuration also contains a great speed boost by having a composer cache and it contains phpcs, phpmd, phpstan, phploc and phpcpd. I rather like the configuration that I came up with here. Since 400 lines of drone configuration is not really easy to read, I used the meta-configuration language that they support, JSONNET, which "compresses" this down to a 140 lines... The PR can be found here: https://github.com/joomla-framework/application/pull/89/files
- And the result of that configuration as a build of drone can be found here: https://ci.joomla.org/joomla-framework/application/17
- If you look at the build, you see a few things:
- phpmd, phpstan (and if you were to run it on a few other repos, also phpcpd) do throw a bunch of errors/warnings about "bad" code. There are a few legitimate reports among these.
- PHP8 isn't working.
- Especially the later is a real issue. The error reported in the PHP8 build is something that we have fixed for 4.0 with a nasty patch, but even when you fix that here, there are dozens of other issues in nearly every package here, which prevent this from running on PHP8. Since the CMS is depending on these packages, this means that
- !!!JOOMLA WONT RUN ON PHP8 ANY TIME SOON!!!
- Going through some of the repos, I stumbled over differences here and there, one important one: Some of the repos use scrutinizer-ci.org. For example https://scrutinizer-ci.com/g/joomla-framework/view/?branch=2.0-dev I actually have no idea what the big benefit of this is. In my opinion it doesn't really provide anything more valuable than what we already have with the above mentioned tools now available for example for the application package. Should we keep this? Who has the credentials for this account?
- Do we need this service, especially when we have a website like https://framework.joomla.org, which provides a bunch of the necessary info? In any case, when we want to switch from Travis to Drone, we need to update that site as well to show the status of Drone instead of Travis. So I tried installing it locally to play around with it, following the instructions in the readme. Turns out that this fails right now. I've not debugged this yet, but the database setup fails, which means that we should really make sure that we have a working backup of that site, because we can't quickly set it up again from the repo. (Maybe it works in another setup than mine, but my confidence in this is rather low, when it doesn't work on my system...)
- The framework website is good, but maybe we could extend it a little bit, while we are at it. Maybe upload the phploc results, so that we have the same as scrutinizer-ci.org... And when you look at the repo, you see a PR from Michael, where he seems to have done quite a bit of work to pull in the documentation of each package into the site. I'm not sure what still needs to be done and/or how far this is along. https://github.com/joomla/framework.joomla.org/pull/46 But it looks like something that we really want to have in the site and should push for adopting.
- Why am I writing all of this? I already invested 2 weeks into getting where I am and a lot still has to be done:
- Create drone configurations based on the application packages example I already did for all version 1 of the 44 framework repos.
- Do that all again for the version 2 branches of the frameworks.
- Fix all the issues for PHP8 in all 88 branches... (Just so that we have a chance of getting 3.x running on PHP8)
- Drop scrutinizer-ci.org?
- Fix framework.joomla.org setup
- Adopt the PR from Michael and
- Maybe add the metrics from phploc to framework.joomla.org as well
- I won’t be able to get this all done myself and was hoping that we could find a way to get more people involved...
Software Architecture & Strategy Team (Niels Braczek)
- Still waiting for the RfC-RfC motion.
CMS Release Team (Philip Walton)
- Dev Twitter account
- [NB] We can use this channel for communication about RfCs.
- [LvdM] CMS to post requests to get testing done.
- Yoursites use by team
- Check out the partner program
- Release today (3.9.21) so far no issues reported. Extensive testing by the team