I was done with my Google Summer of Code internship in September 2020. (see GSoCpedia: Final Chapter for more) According to my mentor Željko Filipin, mentorship was the logical next step for my career. Just a few days later, I stumbled upon a message from Wikimedia Org Admin Srishti saying they were looking for mentors for the next round of the Outreachy internship. As soon as I saw this message I knew this was something I wanted to take up!
Soham and I suggested two projects, Selenium Framework Cleanup and Evaluate Microsoft Playwright as replacement for our browser automation for the internship. We had a total of 9 applicants, 3 for the first project and 6 for the second. This was way more than what I was expecting. So, the application period was a really busy one. However, I found it relatively easy to help out applicants if they were stuck at any point. I guess this was because I went through a similar process just a few months back and had the same questions when I started contributing! At this point, I was really looking forward to the internship. This was the first time I was going to mentor someone and I hoped to do a good job!
On November 23, 2020 the selected interns were announced. After a lot of discussions and careful evaluations, we decided to mentor Harriet for the project ‘Evaluate Microsoft Playwright as replacement for our browser automation’. You can view the status page here.
We use Gerrit for hosting Git repositories and for code review. However, in the previous Google Summer of Code internship, Soham faced a few problems while conducting the framework evaluation on Gerrit mostly because of the CI. It was very difficult for him to debug errors, because he wasn’t able to replicate them locally. So for this internship, we decided to conduct the evaluation on GitHub instead.
We broke down the 3 month internship into 3 milestones, each to be achieved in a month so that the project was more actionable.
- Run Playwright tests in CI
- Implement mediawiki/core tests in Playwright
- Benchmark Playwright against WebdriverIO (and Puppeteer)
Playwright is a better alternative tool over WebdriverIO in terms of speed. However, WebdriverIO is a great tool given that it keeps evolving, new and modern features are being added to it and the community is still vibrant and supportive. In the end, we decided not to adopt the tool but this could change in the future. (For a detailed evaluation checkout Harriet’s final report here.)
According to the Outreachy Guidelines, mentors should be able to commit at least 5 hours a week to the internship. Through personal experience I feel you will usually end up spending much more than 5 hours a week. A good idea would be to have co-mentors so the workload gets divided. I had two co-mentors (Željko and Soham) which I guess worked out really well. Even if one of the mentors were busy the intern always had someone to help them out.
Candidate selection can be a really difficult task. Plan better microtasks for the next internship.
I am really happy with the final outcome of the internship. I hope I was a good mentor and co-mentor. A final update, I am a mentor for Google Summer of Code 2021. We have two proposed projects Create cypress tests for wikipedia-preview and Upgrade WebdriverIO to the latest version 7 for all repositories. It is really overwhelming to be a GSoC mentor after being a student last year. Looking forward to a great summer ahead! 🚀