Page MenuHomePhabricator

End-to-end test coverage for Abstract Wikipedia's Wikifunctions
Closed, ResolvedPublic

Description

IMPORTANT: Make sure to read the GSoC participant instructions and communication guidelines thoroughly before commenting on this task. This space is for project-specific questions, so avoid asking questions about getting started, setting up Gerrit, etc. When in doubt, ask your question on Zulip first!

Brief summary

Abstract Wikipedia is an idea that people can create and maintain Wikipedia articles in a language-independent way. A particular language Wikipedia can translate this language-independent article into its language. Code does the translation.

Wikifunctions is a new Wikimedia project that allows anyone to create and maintain code. This is useful in many different ways. It provides a catalog of all kinds of functions that anyone can call, write, maintain, and use.

When Wikifunctions launches, the team wants the core features to be covered by end-to-end test that can be run against any patch review. We are leveraging existing selenium tools and patterns to write the tests, and a novel GitLab Kubernetes based CI pattern that integrates with Gerrit.

The aim of this GSoC project will be to write e2e (end-to-end) tests using Selenium and integrate them in our pipeline. A stretch goal of this project working on "production-izing" pipeline itself, and documenting the pattern for other teams to evaluate and implement.

Skills required

A working knowledge of Javascript will be the primary skill needed to promote success in this project. The following are nice-to-haves or skills the mentee is likely to learn while working on the project.

  • Selenium
  • NodeJS
  • Wikitext writing
  • Rust
  • GitLab CI / API
  • Gerrit API
  • Kubernetes

Related projects/tags:

Possible mentor(s)

@SDunlap, @Jdforrester-WMF, (possibly others from the Abstract Wikipedia team)

Microtasks

Event Timeline

SDunlap renamed this task from Insert project title here to End-to-end test coverage for Abstract Wikipedia's Wikifuntions.Feb 1 2023, 6:32 PM
SDunlap updated the task description. (Show Details)

@SDunlap Thank you so much for adding this proposal and for your willingness to mentor :) We had limited slots for Outreachy this time, and they are all filled, so I'd suggest promoting the project via GSoC. I've added the related tag. As it will be your first time mentoring in GSoC (if I recall correctly :)), I'd recommend going through the mentor's manual here: https://www.mediawiki.org/wiki/Google_Summer_of_Code/Mentors. If there are any questions, please let me know.

Also two small asks:

Done! Thank you for your help. :)

@SDunlap
Can you please provide me the repo link and setup guide for this project?
Also where to connect to members working on this project?

By the way, myself Nikhil Mahajan. I am interested to participate in GSoC this year at the Wikimedia Foundation and have two patches already being merged in this org :)

Hey myself aaditya , and i am too interested in working in this project, my tech stack includes javascript, react, node js, kuberneted and recently setup github actions for wikimedia education project .
Can i get the repo link ?

Hello @Nik.xyz.in and @Aaditya, welcome to the project.

Our main repository is here:
https://gerrit.wikimedia.org/g/mediawiki/extensions/WikiLambda.

Development environment setup instructions using docker here:
https://www.mediawiki.org/wiki/MediaWiki-Docker/Extension/WikiLambda

Some documentation about our end-to-end tests in Selenium is here:
https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/WikiLambda/+/refs/heads/master/tests/selenium/

Lastly, you're welcome to ask questions in #wikipedia-abstract-tech on Libera.chat
https://web.libera.chat/?channel=#wikipedia-abstract-tech

Quiddity renamed this task from End-to-end test coverage for Abstract Wikipedia's Wikifuntions to End-to-end test coverage for Abstract Wikipedia's Wikifunctions.Feb 6 2023, 6:45 PM

Hi, I am Shivam Jha and I am interested in working on this project. I was also selected for GSoC 2022 in Oppia where my task was to migrate the whole end-to-end test from protractor to WebdriverIO and set up the pipeline to run the test on GitHub Actions. Can we write the test in some framework that uses selenium under the hood like WebdriverIO, NightwatchJs, Playwright, and Selenium Webdriver, which suites the codebase perfectly?

Hi, This is Ronit Banerjee. I am looking forward to contributing to this project. Few words about me, I have prior experience with open source contribution and also received scholarship to visit OSS Dublin 2022. I would love to know more about the project. I have significant experience with Kubernetes, Docker, CI/CD Pipelines as well. I want to know more regarding this project.

Thanks and Regards
Ronit Banerjee

Hello everyone,
Ashish Padhy here. I am looking forward to being a part of this community. I have contributed to many web development projects using React, NextJS, NodeJS, and ApolloGraphQl in the backend. Can somebody guide me on how to get to know further details regarding the project?
Thank you.

Jdforrester-WMF assigned this task to SDunlap.

Stef oversaw this, now completed; great stuff!