(Tried sending this last weekend w/ an image attachment, which wikitech-l
apparently didn't like. Trying again)
Scott's RFC about Travis got me thinking about GitLab again. To satisfy my
curiosity, I conducted a little experiment this weekend: I imported the
Wikipedia iOS GitHub repo into GitLab [0], configured it to use GitLab CI
[1], and added my own laptop as a runner. I didn't do this with any
specific outcome in mind, but wanted to share the results as food for
thought.
While just a proof of concept, it took maybe an hour to setup and, perhaps
most notably, is powered entirely by FLOSS (aside from some components
specific to iOS development). I've added my thoughts about approach below,
but take with a grain of salt as my experience was quite brief:
*Pros*
- FLOSS
- Versatile
- This setup uses a shell runner on an OSX machine, but other setups
could use shared runners, dedicated runners, runners on Linux
inside Docker
containers, etc.
- Decent-looking number of contributors (though clearly one person is
doing the lion's share on GitLab) [2]
- Easy to setup
*Cons*
- Small number of pre-made runners (e.g. compared to Travis)
- Especially true for OS X, which appears to have no shared runners.
Therefore, we'd have to provide our own (like I did with my own laptop).
This could be facilitated via configuration management systems
(e.g. Boxen
or Ansible), but still not as "hassle free" as Travis (which
provides OS X
VMs as part of the service).
*Unknowns*
- How to hook up runners that reside in our secure networks (e.g. the
iOS Mac Mini)
- ToU / ToS
Otherwise, my overall impression of GitLab was very positive. It seems to
have all the same features of GitHub and then some*:* e.g. protected
branches and requiring approval from specific individuals for merge
requests (similar to our +1/+2 system). Also, the UI is very modern and I
found it quite enjoyable to use.
Hope you found this interesting and had some fun experiments of your own
this weekend :-)
Brian
0: https://gitlab.com/wikimedia/wikipedia-ios
1: https://gitlab.com/wikimedia/wikipedia-ios/merge_requests/1
2: http://contributors.gitlab.com/
--
EN Wikipedia user page: https://en.wikipedia.org/wiki/User:Brian.gerstle
IRC: bgerstle
In a simpe message text typo fix:
https://gerrit.wikimedia.org/r/#/c/243332/
in the job
mwext-testextension-zend
the test
PHPUnit
failed with these messages:
+ php phpunit.php --with-phpunitdir
/srv/deployment/integration/phpunit/vendor/phpunit/phpunit --log-junit
/mnt/jenkins-workspace/workspace/mwext-testextension-zend/log/junit-phpunit-allexts.xml
--testsuite extensions
18:43:29 You MUST install Composer dependenciesRecording test results
18:43:29 ERROR: Publisher 'Publish JUnit test result report' failed: No
test report files were found. Configuration error?
18:43:29 [PostBuildScript] - Execution post build scripts.
18:43:29
I have no clue what do to fix it.
Purodha
Is AWS (Amazon Web Services) being used by Wikimedia directly; US
Foundation, or by other affiliates?
While trawling around for AWS related tasks, I saw on T74501 that Sage
Ross' team was using AWS late last year, perhaps only temporarily due
to the bug.
https://phabricator.wikimedia.org/T74501
(I assume from the date the task was raised that it was a team at Wiki
Education Foundation).
All use of Travis-CI is indirectly using AWS. Are there other indirect uses?
Is it still in use at all in a direct manner, i.e. using our own account?
--
John Vandenberg
The reading web team discovered that no one was maintaining the
RelatedArticles [1] extension despite it being deployed on Wikivoyage, so
we have taken the time to clean it up and get it ported to extension.json
etc and give it some love...
Whilst doing so, we noticed that it depends on a CustomData [2] extension
which seems to be an early version of setExtensionData on ParserOutput.
We removed this dependency, and we wondered if any other extensions is
using CustomData. We'd be keen to undeploy it from the cluster if not.
Anyone know about its history?
There's a Flow discussion here if anyone wants to chip in:
https://www.mediawiki.org/wiki/Topic:Sqcxzoee4lz8wxc3
[1] https://www.mediawiki.org/wiki/Extension:RelatedArticles
[2] https://www.mediawiki.org/wiki/Extension:CustomData
Hello,
I am Devi Krishnan ,an Outreachy applicant.I am interested to work on
the project https://phabricator.wikimedia.org/T15303.But the project is
lacking mentors.
If anyone is willing to help out as a mentor or point me to someone who
would, I'd hugely appreciate it.
I know the WMF did a lot of work recently consolidating user accounts, and
I'm wondering if anyone can provide me with some information on how to do
it in my much simpler case. We have about 10 wikis setup independently
which we'd like to make all use the same user table ($wgSharedDB,
$wgSharedTables). Wikis have different sets of users, though many users are
active on multiple wikis. A user's ID on one wiki is not likely to be the
same on another, but usernames are the same throughout.
Is there an existing project or script that can sort this out? Since a
person's username is consistent across wikis it should be something fairly
simple like:
1. Read user table for all wikis, create $newUserArray giving each username
a new unique ID
2. For each wiki:
1. Loop through the ~17 tables with usernames and user IDs (except the
user table) and:
1. For tables with username and id columns: replace the id with the id
from $newUserArray
2. For tables with just username (I don't think there are any): No
change
3. For tables with just id: Lookup the ID in the user table, use
username to get new ID from $newUserArray
2. Update user table IDs (or skip this step in most wikis since we'll
only be using one wiki's user table)
3. Create new user table on the one wiki with the shared user table
Does anyone see any issues with this? Any suggestions?
Below is the list of tables I see (for MW 1.23, which we're on currently)
that have usernames and/or user IDs. Is there any specific info I need for
any of these?
archive: ar_user, ar_user_text
external_user: eu_local_id, eu_external_id
file_archive: fa_user, fa_user_text
image: img_user, img_user_text
ipblocks: ipb_user, ipb_by, ipb_by_text
logging: log_user, log_user_text
old_image: oi_user, oi_user_text
page_restrictions: pr_user
protected_titles: pt_user
recentchanges: rc_user, rc_user_text
revision: rev_user, rev_user_text
uploadstash: us_user
user: user_id, user_name
user_former_groups: ufg_user
user_groups: ug_user
user_newtalk: user_id
user_properties: up_user
watchlist: wl_user
Thanks,
James
FOSDEM, Brussels, 30 & 31 January
It's time to decide the broad lines of the Wikimedia participation in that
event.
Deadlines and discussion: https://phabricator.wikimedia.org/T88414
If you are interested, join the task and have your say.
--
Quim Gil
Engineering Community Manager @ Wikimedia Foundation
http://www.mediawiki.org/wiki/User:Qgil