Zfilipin has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/381774 )
Change subject: Deleted all Ruby code ...................................................................... Deleted all Ruby code The only Ruby code were broken Selenium tests. Bug: T164479 Change-Id: I6ca8146b285fc14e2579682707722fb739b6ac80 --- D .rubocop.yml D .rubocop_todo.yml D Gemfile D Gemfile.lock D Rakefile D tests/browser/README D tests/browser/cucumber_anon_prod.bash D tests/browser/cucumber_partner_prod.bash D tests/browser/environments.yml D tests/browser/features/header.feature D tests/browser/features/home.feature D tests/browser/features/step_definitions/common_steps.rb D tests/browser/features/step_definitions/header_steps.rb D tests/browser/features/step_definitions/home_steps.rb D tests/browser/features/support/env.rb D tests/browser/features/support/pages/dashboard_page.rb D tests/browser/features/support/pages/faq_page.rb D tests/browser/features/support/pages/home_page.rb D tests/browser/features/support/pages/logout_page.rb D tests/browser/features/support/pages/news_page.rb D tests/browser/features/support/pages/register_page.rb D tests/browser/features/support/pages/studies_page.rb 22 files changed, 0 insertions(+), 565 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/ZeroPortal refs/changes/74/381774/1 diff --git a/.rubocop.yml b/.rubocop.yml deleted file mode 100644 index cc32da4..0000000 --- a/.rubocop.yml +++ /dev/null @@ -1 +0,0 @@ -inherit_from: .rubocop_todo.yml diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml deleted file mode 100644 index 5b55f00..0000000 --- a/.rubocop_todo.yml +++ /dev/null @@ -1,47 +0,0 @@ -# This configuration was generated by `rubocop --auto-gen-config` -# on 2014-10-21 17:47:58 +0200 using RuboCop version 0.26.1. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 13 -Lint/AmbiguousRegexpLiteral: - Enabled: false - -# Offense count: 1 -# Configuration parameters: AllowURI, URISchemes. -Metrics/LineLength: - Max: 93 - -# Offense count: 8 -Style/Documentation: - Enabled: false - -# Offense count: 4 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -Style/HashSyntax: - Enabled: false - -# Offense count: 2 -# Cop supports --auto-correct. -Style/LeadingCommentSpace: - Enabled: false - -# Offense count: 1 -# Cop supports --auto-correct. -Style/RedundantSelf: - Enabled: false - -# Offense count: 27 -# Cop supports --auto-correct. -# Configuration parameters: SupportedStyles. -Style/StringLiterals: - EnforcedStyle: double_quotes - -# Offense count: 10 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -Style/TrailingBlankLines: - Enabled: false diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 09940bc..0000000 --- a/Gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gem "mediawiki_selenium", "~> 1.7", ">= 1.7.1" -gem "rake", "~> 10.4", ">= 10.4.2" -gem "rubocop", "~> 0.28.0", require: false diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 43df34c..0000000 --- a/Gemfile.lock +++ /dev/null @@ -1,102 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - ast (2.1.0) - astrolabe (1.3.1) - parser (~> 2.2) - builder (3.2.2) - childprocess (0.5.9) - ffi (~> 1.0, >= 1.0.11) - cucumber (1.3.20) - builder (>= 2.1.2) - diff-lcs (>= 1.1.3) - gherkin (~> 2.12) - multi_json (>= 1.7.5, < 2.0) - multi_test (>= 0.1.2) - data_magic (0.22) - faker (>= 1.1.2) - yml_reader (>= 0.6) - diff-lcs (1.2.5) - domain_name (0.5.20160310) - unf (>= 0.0.5, < 1.0.0) - faker (1.6.3) - i18n (~> 0.5) - faraday (0.9.2) - multipart-post (>= 1.2, < 3) - faraday-cookie_jar (0.0.6) - faraday (>= 0.7.4) - http-cookie (~> 1.0.0) - ffi (1.9.10) - gherkin (2.12.2) - multi_json (~> 1.3) - headless (2.2.3) - http-cookie (1.0.2) - domain_name (~> 0.5) - i18n (0.7.0) - json (1.8.3) - mediawiki_api (0.6.0) - faraday (~> 0.9, >= 0.9.0) - faraday-cookie_jar (~> 0.0, >= 0.0.6) - mediawiki_selenium (1.7.1) - cucumber (~> 1.3, >= 1.3.20) - headless (~> 2.0, >= 2.1.0) - json (~> 1.8, >= 1.8.1) - mediawiki_api (~> 0.6, >= 0.6.0) - page-object (~> 1.0) - rest-client (~> 1.6, >= 1.6.7) - rspec-core (~> 2.14, >= 2.14.4) - rspec-expectations (~> 2.14, >= 2.14.4) - syntax (~> 1.2, >= 1.2.0) - thor (~> 0.19, >= 0.19.1) - mime-types (2.99.2) - multi_json (1.12.1) - multi_test (0.1.2) - multipart-post (2.0.0) - netrc (0.11.0) - page-object (1.1.1) - page_navigation (>= 0.9) - selenium-webdriver (>= 2.44.0) - watir-webdriver (>= 0.6.11) - page_navigation (0.9) - data_magic (>= 0.14) - parser (2.3.0.pre.2) - ast (>= 1.1, < 3.0) - powerpack (0.0.9) - rainbow (2.0.0) - rake (10.4.2) - rest-client (1.8.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 3.0) - netrc (~> 0.7) - rspec-core (2.99.2) - rspec-expectations (2.99.2) - diff-lcs (>= 1.1.3, < 2.0) - rubocop (0.28.0) - astrolabe (~> 1.3) - parser (>= 2.2.0.pre.7, < 3.0) - powerpack (~> 0.0.6) - rainbow (>= 1.99.1, < 3.0) - ruby-progressbar (~> 1.4) - ruby-progressbar (1.7.5) - rubyzip (1.2.0) - selenium-webdriver (2.53.0) - childprocess (~> 0.5) - rubyzip (~> 1.0) - websocket (~> 1.0) - syntax (1.2.0) - thor (0.19.1) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.2) - watir-webdriver (0.9.1) - selenium-webdriver (>= 2.46.2) - websocket (1.2.3) - yml_reader (0.7) - -PLATFORMS - ruby - -DEPENDENCIES - mediawiki_selenium (~> 1.7, >= 1.7.1) - rake (~> 10.4, >= 10.4.2) - rubocop (~> 0.28.0) diff --git a/Rakefile b/Rakefile deleted file mode 100644 index d5823fa..0000000 --- a/Rakefile +++ /dev/null @@ -1,14 +0,0 @@ -require "bundler/setup" - -require "rubocop/rake_task" -RuboCop::RakeTask.new(:rubocop) do |task| - # if you use mediawiki-vagrant, rubocop will by default use it's .rubocop.yml - # the next line makes it explicit that you want .rubocop.yml from the directory - # where `bundle exec rake` is executed - task.options = ["-c", ".rubocop.yml"] -end - -task default: [:test] - -desc "Run all build/tests commands (CI entry point)" -task test: [:rubocop] diff --git a/tests/browser/README b/tests/browser/README deleted file mode 100644 index 6689acf..0000000 --- a/tests/browser/README +++ /dev/null @@ -1,103 +0,0 @@ -The Cucumber scripts run daily. To get this going, do the following: - -On Mac OS X, install XQuartz and Firefox from their websites, -XQuartz mainly to stop warnings when running Cucumber. The Firefox -GUI still runs while headless mode is set to true. Maybe someday -we'll link a version of Firefox to xvfb for Mac OS X. - -On Ubuntu, install xvfb and firefox with apt-get: - -$ sudo apt-get install --no-install-recommends xvfb -$ sudo apt-get install firefox - -Then install RVM stable from its official website. -After installing RVM, go to the ZeroPortal directory and install -the required level of Ruby when prompted. Then install the bundler -gem: - -$ bundle install gem - -Then you'll want to run bundle install to get the other gems. - -marxarelli has pointed out that maybe one could get away with apt-get -installing Ruby, bundler, and rubygems-integration, and skipping -the tedious stuff below. The theory being that you simply add -stuff to the PATH variable in the crontab and minimize the content -in the cucumber_run.sh script. - -Now that you have everything running, do cd down into ZeroPortal/ -tests/browser and run the cucumber_anon_prod.bash and -cucumber_partner_prod.bash scripts. The first time you run them -they'll gripe at you about updating files in your ~/.zero/ directory. -So go fix that! - -Now that you've setup your ~/.zero/ directory, if you want to get -cronjobs going, here's how you might do it in Ubuntu. Run the crontab -editor: - -$ crontab -e - -Make sure that the HOME variable (this is specific to crontab, -there are only a few variables you typically want to set here) -points to the home directory under which you plan to run things. -Also, update the PATH at the start; sometimes this isn't necessary. -Also, add the actual task to the crontab. - -PATH=/bin:/usr/bin -HOME=/home/username -# once daily: -29 0 * * * /home/username/cucumber_run.sh &> /dev/null - -Note: replace 'username' with the username running the job. - -Note that cucumber_run.sh is listed here. So you need to have that! - -cucumber_run.sh has three parts: (1) getting into the correct -directory, (2) getting a bunch of RVM stuff setup, and finally (3) -running the scripts. - -A fully functional file will look like the following. Just know that -the large set of export/unset action in the middle should be copied -from an RVM profile. To get those contents, go into the ZeroPortal -directory, run the following command, and copy-and-paste the output -in the moddle of cucumber_run.sh where the example is right now, -replacing the values below. - -$ rvm env --path | xargs cat - -Once you have all this stuff setup, make sure to monitor your -ZeroPortal/tests/browser/reports directory for output. If you -get errors, the email address specified in ~/.zero/email will -get them. You will need to scp pull the scrennshots in that case -most likely. - -For multiple email addresses in email files, you may be able to -get away with making them space-delimited, but in practice you -may actually need to make them comma delimited. - -After creating cucumber_run.sh, chmod 700 it. - -Here's the sample cucumber_run.sh. Again, replace the export and -unset stuff using the values for your own system from the rmv env -command above. - - -#! /bin/sh - -cd $HOME/ZeroPortal/tests/browser - -# the next set of uncommented lines is the equivalent of -# source /home/username/.rvm/environments/ruby-2.1.1@ZeroPortal - -export PATH="/home/username/.rvm/gems/ruby-2.1.1@ZeroPortal/bin:/home/username/.rvm/gems/ruby-2.1.1@global/bin:/home/username/.rvm/rubies/ruby-2.1.1/bin:$PATH" -export GEM_HOME='/home/username/.rvm/gems/ruby-2.1.1@ZeroPortal' -export GEM_PATH='/home/username/.rvm/gems/ruby-2.1.1@ZeroPortal:/home/username/.rvm/gems/ruby-2.1.1@global' -export MY_RUBY_HOME='/home/username/.rvm/rubies/ruby-2.1.1' -export IRBRC='/home/username/.rvm/rubies/ruby-2.1.1/.irbrc' -unset MAGLEV_HOME -unset RBXOPT -export RUBY_VERSION='ruby-2.1.1' - -./cucumber_anon_prod.bash -./cucumber_partner_prod.bash - diff --git a/tests/browser/cucumber_anon_prod.bash b/tests/browser/cucumber_anon_prod.bash deleted file mode 100755 index 9db024d..0000000 --- a/tests/browser/cucumber_anon_prod.bash +++ /dev/null @@ -1,49 +0,0 @@ -#! /bin/sh - -export PATH=/bin:$PATH -export SCREENSHOT_FAILURES=true -export HEADLESS=true -export MEDIAWIKI_URL=https://zero.wikimedia.org/wiki/ - -if [ ! -e ~/.zero/ ] -then - mkdir ~/.zero - error=true -fi -chmod 700 ~/.zero - -if [ ! -e ~/.zero/email ] -then - touch ~/.zero/email - echo "REPLACE_WITH_EMAIL" > ~/.zero/email - error=true -fi -chmod 600 ~/.zero/email - -if [ "$error" = true ] -then - echo "ERROR" - echo "=====" - echo "Go setup ~/.zero/email" - exit 1 -fi - -# okay, we look good to go -export EMAIL=`cat ~/.zero/email` -if [ ! -e reports/ ] -then - mkdir reports -fi -chmod 755 reports - -d=`date "+%Y%m%d-%H%M-%S"` -report="reports/cucumber_anon_prod-${d}.html" -screenshots="reports/cucumber_anon_prod_screenshots-${d}" -mkdir $screenshots -chmod 755 $screenshots -export SCREENSHOT_FAILURES_PATH=$screenshots -bundle exec cucumber --tags @anon -f html -o $report -if [ $? -eq 1 ] -then - echo "Partner portal ANON PROD failure. See attached." | mailx -s "Portal Cucumber: FAIL Anon Prod" -a $report $EMAIL -fi diff --git a/tests/browser/cucumber_partner_prod.bash b/tests/browser/cucumber_partner_prod.bash deleted file mode 100755 index 86cfcae..0000000 --- a/tests/browser/cucumber_partner_prod.bash +++ /dev/null @@ -1,68 +0,0 @@ -#! /bin/sh - -export PATH=/bin:$PATH -export SCREENSHOT_FAILURES=true -export HEADLESS=true -export MEDIAWIKI_URL=https://zero.wikimedia.org/wiki/ - -if [ ! -e ~/.zero/ ] -then - mkdir ~/.zero - error=true -fi -chmod 700 ~/.zero - -if [ ! -e ~/.zero/prod.partner.u ] -then - touch ~/.zero/prod.partner.u - echo "REPLACE_W_PROD_TESTING_USERNAME" > ~/.zero/prod.partner.u - error=true -fi -chmod 600 ~/.zero/prod.partner.u - -if [ ! -e ~/.zero/prod.partner.p ] -then - touch ~/.zero/prod.partner.p - echo "REPLACE_W_PROD_TESTING_PASSWORD" > ~/.zero/prod.partner.p - error=true -fi -chmod 600 ~/.zero/prod.partner.p - -if [ ! -e ~/.zero/email ] -then - touch ~/.zero/email - echo "REPLACE_WITH_EMAIL" > ~/.zero/email - error=true -fi -chmod 600 ~/.zero/email - -if [ "$error" = true ] -then - echo "ERROR" - echo "=====" - echo "Go setup the ~/.zero/ partner files" - exit 1 -fi - -# okay, we look good to go -export MEDIAWIKI_USER=`cat ~/.zero/prod.partner.u` -export MEDIAWIKI_PASSWORD=`cat ~/.zero/prod.partner.p` -export EMAIL=`cat ~/.zero/email` - -if [ ! -e reports/ ] -then - mkdir reports -fi -chmod 755 reports - -d=`date "+%Y%m%d-%H%M-%S"` -report="reports/cucumber_partner_prod-${d}.html" -screenshots="reports/cucumber_partner_prod_screenshots-${d}" -mkdir $screenshots -chmod 755 $screenshots -export SCREENSHOT_FAILURES_PATH=$screenshots -bundle exec cucumber --tags @partner -f html -o $report -if [ $? -eq 1 ] -then - echo "Partner portal PARTNER PROD failure. See attached." | mailx -s "Portal Cucumber: FAIL Partner Prod" -a $report $EMAIL -fi diff --git a/tests/browser/environments.yml b/tests/browser/environments.yml deleted file mode 100644 index 3a0a85d..0000000 --- a/tests/browser/environments.yml +++ /dev/null @@ -1,46 +0,0 @@ -# Customize this configuration as necessary to provide defaults for various -# test environments. -# -# The set of defaults to use is determined by the MEDIAWIKI_ENVIRONMENT -# environment variable. -# -# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host -# bundle exec cucumber -# -# Additional variables set by the environment will override the corresponding -# defaults defined here. -# -# export MEDIAWIKI_ENVIRONMENT=mw-vagrant-host -# export MEDIAWIKI_USER=Selenium_user2 -# bundle exec cucumber -# -mw-vagrant-host: &default - user_factory: true - mediawiki_url: http://127.0.0.1:8080/wiki/ - -mw-vagrant-guest: - user_factory: true - mediawiki_url: http://127.0.0.1/wiki/ - -beta: - mediawiki_url: http://en.wikipedia.beta.wmflabs.org/wiki/ - mediawiki_user: Selenium_user - # mediawiki_password: SET THIS IN THE ENVIRONMENT! - -production: - mediawiki_url: https://zero.wikimedia.org/wiki/ - mediawiki_user_partner: TestCucumber - # mediawiki_password_partner: SET THIS IN THE ENVIRONMENT! - mediawiki_user_admin: TestCucumberAdmin - # mediawiki_password_admin: SET THIS IN THE ENVIRONMENT! - -test2: - mediawiki_url: http://test2.wikipedia.org/wiki/ - mediawiki_user: Selenium_user - # mediawiki_password: SET THIS IN THE ENVIRONMENT! - -integration: - user_factory: true - # mediawiki_url: THIS WILL BE SET BY JENKINS - -default: *default diff --git a/tests/browser/features/header.feature b/tests/browser/features/header.feature deleted file mode 100644 index b5bf3f7..0000000 --- a/tests/browser/features/header.feature +++ /dev/null @@ -1,24 +0,0 @@ -Feature: Header - Anonymous user should see different links than logged in user - Link for current page should be highlighted - - Background: - Given I am on the home page - When I am looking at the header - - @anon - Scenario: Anonymous user sees links - Then I should see the links: - | home | - | sign in | - | sign up | - And the home link should be highlighted - - @partner - Scenario: Logged in partner sees links - Given I am logged in as a partner - Then I should see the links: - | home | - | admin portal | - | logout | - And the home link should be highlighted diff --git a/tests/browser/features/home.feature b/tests/browser/features/home.feature deleted file mode 100644 index c785011..0000000 --- a/tests/browser/features/home.feature +++ /dev/null @@ -1,8 +0,0 @@ -@anon @partner -Feature: Home - - Scenario: Landing page elements are visible - Given I am on the home page - Then I should see a large image - And I should see a video - And I should see a map of supported countries diff --git a/tests/browser/features/step_definitions/common_steps.rb b/tests/browser/features/step_definitions/common_steps.rb deleted file mode 100644 index 4c5aacd..0000000 --- a/tests/browser/features/step_definitions/common_steps.rb +++ /dev/null @@ -1,32 +0,0 @@ -# Utility step definitions for common use across features - -Given /^I am logged in as an? (.*?)$/ do |userType| - as_user(userType) { log_in } -end - -# Check for link visibility within a section -# -# @param text the link text (case-sensitive) -# @var scope the scope of the search. Defaults to current_page. -# -# Usage: -# Given I am looking at the header # sets scope to header -# Then I see a link to "Sign Up" # searches for link with text of "Sign Up" within header -# -Then /^I should see a link to "(.*?)"$/ do |text| - @scope = @current_page unless @scope - - expect(@scope.link_element(text: text)).to be_visible -end - -# Check visibility of multiple links -# -# @param links_table table of links (simple list, no hash) -# -Then /^I should see the links:$/ do |links_table| - @scope = @current_page unless @scope - - links_table.raw.each do |link| - expect(@scope.link_element(text: link[0])).to be_visible - end -end diff --git a/tests/browser/features/step_definitions/header_steps.rb b/tests/browser/features/step_definitions/header_steps.rb deleted file mode 100644 index 3215144..0000000 --- a/tests/browser/features/step_definitions/header_steps.rb +++ /dev/null @@ -1,8 +0,0 @@ -When /^I am looking at the header$/ do - @scope = @current_page.header_element -end - -Then /^the home link should be highlighted$/ do - # explicitly search for list item because @scope is not a page - expect(@scope.list_item_element(class: "active")).to be_visible -end \ No newline at end of file diff --git a/tests/browser/features/step_definitions/home_steps.rb b/tests/browser/features/step_definitions/home_steps.rb deleted file mode 100644 index 8dff9ae..0000000 --- a/tests/browser/features/step_definitions/home_steps.rb +++ /dev/null @@ -1,15 +0,0 @@ -Given /^I am on the home page$/ do - visit(HomePage) -end - -Then /^I should see a large image$/ do - on(HomePage) { |page| expect(page.big_image_element).to be_visible } -end - -Then /^I should see a video$/ do - on(HomePage) { |page| expect(page.video_element).to be_visible } -end - -Then /^I should see a map of supported countries$/ do - on(HomePage) { |page| expect(page.map_element).to be_visible } -end \ No newline at end of file diff --git a/tests/browser/features/support/env.rb b/tests/browser/features/support/env.rb deleted file mode 100644 index 1760965..0000000 --- a/tests/browser/features/support/env.rb +++ /dev/null @@ -1,3 +0,0 @@ -require "mediawiki_selenium/cucumber" -require "mediawiki_selenium/pages" -require "mediawiki_selenium/step_definitions" diff --git a/tests/browser/features/support/pages/dashboard_page.rb b/tests/browser/features/support/pages/dashboard_page.rb deleted file mode 100644 index 12f14a3..0000000 --- a/tests/browser/features/support/pages/dashboard_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class DashboardPage - include PageObject - - page_url "Special:ZeroPortal#/dashboard" -end diff --git a/tests/browser/features/support/pages/faq_page.rb b/tests/browser/features/support/pages/faq_page.rb deleted file mode 100644 index 1444bef..0000000 --- a/tests/browser/features/support/pages/faq_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class FaqPage - include PageObject - - page_url "Special:ZeroPortal#/faq" -end diff --git a/tests/browser/features/support/pages/home_page.rb b/tests/browser/features/support/pages/home_page.rb deleted file mode 100644 index b7d6f09..0000000 --- a/tests/browser/features/support/pages/home_page.rb +++ /dev/null @@ -1,10 +0,0 @@ -class HomePage - include PageObject - - page_url "Special:ZeroPortal?s=b" - - header(:header, :id => "fake-header") - div(:big_image, :id => "big-image") - div(:video, :id => "video-container") - div(:map, :id => "map-container") -end diff --git a/tests/browser/features/support/pages/logout_page.rb b/tests/browser/features/support/pages/logout_page.rb deleted file mode 100644 index 7412b1a..0000000 --- a/tests/browser/features/support/pages/logout_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class LogoutPage - include PageObject - - page_url "Special:ZeroPortal#/logout" -end diff --git a/tests/browser/features/support/pages/news_page.rb b/tests/browser/features/support/pages/news_page.rb deleted file mode 100644 index 62b654b..0000000 --- a/tests/browser/features/support/pages/news_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class NewsPage - include PageObject - - page_url "Special:ZeroPortal#/news" -end diff --git a/tests/browser/features/support/pages/register_page.rb b/tests/browser/features/support/pages/register_page.rb deleted file mode 100644 index 6cd66b7..0000000 --- a/tests/browser/features/support/pages/register_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class RegisterPage - include PageObject - - page_url "Special:ZeroPortal#/register" -end diff --git a/tests/browser/features/support/pages/studies_page.rb b/tests/browser/features/support/pages/studies_page.rb deleted file mode 100644 index 0b8c181..0000000 --- a/tests/browser/features/support/pages/studies_page.rb +++ /dev/null @@ -1,5 +0,0 @@ -class StudiesPage - include PageObject - - page_url "Special:ZeroPortal#/studies" -end -- To view, visit https://gerrit.wikimedia.org/r/381774 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6ca8146b285fc14e2579682707722fb739b6ac80 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/ZeroPortal Gerrit-Branch: master Gerrit-Owner: Zfilipin <zfili...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits