Perfect. We can reuse my materials at https://www.mediawiki.org/wiki/User:01tonythomas/Hackathons/ExtensionHack as well! Would help us in finding out what is wrong with our docs - which is priceless!
Yeah, I definitely +1 this idea. Its great and how about doing it the manual way too (thats not using Vagrant as suggested above). I am willing to run simultaneously (with Vagrant session) a session of setting up the env the manual way (if acceptable) or maybe a session after the Vagrant session or before. If this session is acceptable, I am willing to do it and if anyone is willing to help, I will be happy to work with the person too :)
@D3r1ck01 Sounds great, Alangi! :) I am also wondering if you would be interested in doing a skillshare that touches some of your work? For example, @01tonythomas might do one around extensions development. If you are interested, feel free to create a task about it and move it to the Skillshare column on the Wikimedia-Hackathon-2017 workboard. More skills shared the better for newcomers! :)
@srishakatux I would recommend downloading http://mediawiki-vagrant-image.wmflabs.org/mediawiki-vagrant/mediawiki-vagrant-installer.iso and copying it to some usb thumb drives before this session. Installing from the image saves a lot of time on typically slow/overloaded hackathon wifi. We used to have a box of USB drives just for this purpose. The last time I saw them was in Jerusalem. I think I gave them to @Catrope or @Mooeypoo to take back to SF. @greg or @dduvall might have some idea where they ended up too. I will bring a couple of usb sticks I keep in my backpack too.
Alright - so just to be sure - this will run as part of the mentoring program (since we are in for Room Wiaschtl, where the mentoring program is scheduled to).
I also added the manual installation into https://www.mediawiki.org/w/index.php?title=Hackathon/Laptop_setup#Goal_.239:_Fetch_Mediawiki_codebase_and_setup_the_development_environment as well - in case someone finds vagrant a bit bulky for their machines.
By the way - we can expect a major percentage of the participants to have MW setup in their machine as well as per the instructions here https://www.mediawiki.org/w/index.php?title=Hackathon/Laptop_setup - which was sent out to all participants. If that is the case, my backup plan is to work on the ~30 easy bugs for the MediaWiki-extensions-Newsletter at https://phabricator.wikimedia.org/T159081
Srishti - I just returned some thumb drives to IT. If you ask them first thing tomorrow, give them the correct file and are heading into the office you might be able to get a few before you leave.
We're still in early days looking at Docker images for a staging cluster/CI/local development, so there's not much to present for local development environments at this point but I can talk about what we're doing.
To sum the docker topic up: There are currently three approaches:
- By @Addshore: Uses docker-compose, consists of services "mediawiki-mysql", "mediawiki-mariadb", "mediawiki-phpmyadmin", "mediawiki-nginx-php5", "mediawiki-nginx-php7", "mediawiki-nginx-hhvm", "mediawiki-apache-php5", "mediawiki-apache-php7", "mediawiki-apache-hhvm", "mediawiki-graphite-statsd" and "mediawiki-nginx-proxy". See https://github.com/addshore/mediawiki-docker-dev - Seems to be quite a lot of stuff with some redundancy, but probably covers a lot of cases
- By @GWicke: Uses docker-compose, consists of services "db" and "web". See https://github.com/wikimedia/mediawiki-docker - The "web" service has a pretty sophisticated DOCKERFILE and entrypoint.sh. It seems to me as almost all WMF infratructure is missing, even Parsoid.
- By WikiToLearn: Didn't find docker-compose here, but there are a lot of docker image builds available. See https://hub.docker.com/u/wikitolearn/ - Some of the highlights seem to be OCG, RestBase, Mathiod and Parsoid. It looks like those are crafted for production purposes and not for development (e.g. Parsoid is being configured to run with multiple language specific subdomains).
@Addshore, sorry, I missed the chance to talk to you in the session. Maybe we can meet tomorrow? I'm still interested in what you are planing :)
Never mind. I'll just keep watching what you are doing in your respository :) You plan to have parsiod/mathiod and stuff as a separate container? Will the images be published to hub.docker.com and how are chances that those images can be considered "official"?
@bd808 everything worked fine -- just one problem we had while doing the setup was understanding which bundle file does what. Names of the MediaWiki vagrant and core bundle files in the USB drive folder were confusing and different as they were in the README file. I think we guessed the name by the file size.
Thanks to Matthew and Tgr who helped with this session, Moriel for flying the drives safely from SFO and Bryan D. for a timely reminder :)
I wonder if that was an artifact of how the files were transferred from the ISO to the USB sticks? Locally and in the image I see:
mpb01:/Volumes/MWV bd808$ ls BUILD_INFO* Vagrant_MIT.txt* GPL-2.0.txt* Windows/ LICENSE* cache/ Linux/ mediawiki_core.bundle* Mac/ mediawiki_vagrant.bundle* README.txt* virtualbox.box* System Volume Information/
If the bundle names were squashed down to 8.3 filenames they would be something horrible like MEDIAW~1.BUN and MEDIAW~2.BUN. Maybe we should rename the files something like core.git and mwv.git to make things nicer if they are mangled.
This will happen on a Windows machine when you double click on the name of the ISO file in Explorer.
It is possible to see the full names on a Windows machine: right-click on the name of the ISO file and select 7-Zip Open. If necessary, you can unpack the ISO using 7-Zip. Maybe an idea to include this in the Readme file?