Page MenuHomePhabricator

Test Wikifunctions Services with 'Catalyst'
Closed, ResolvedPublic

Description

Background

We currently do not have a dependable way to test our services – to deploy patches and test them. This prevents us from shipping quality updates consistently.
It will be a good investment of our efforts to hook up the next evolution of the testing platform, Catalyst, to WikiLambda and see if it works.
This will enable us to test our services as well. We would be an early adopter for the QTE team, and the bet is long-term stability and dependability in our testing infrastructure. Catalyst will provide the necessary testing capabilities.

Approach

  • Use the Catalyst platform to deploy on-demand Web-accessible instances of the Wikifunctions stack (MediaWiki + WikiLambda, orchestrator, and evaluator), with the ability to use specified merged versions of the services and specified merged or unmerged patches of WikiLambda
  • Trigger the creation of the above stack as part of the GitLab CI / pre-merge development experience for the function-orchestrator

Acceptance Criteria ("work is done")

  • Milestone 0: Use the Catalyst platform to deploy on-demand Web-accessible instances of the Wikifunctions stack
    • Full stack is MediaWiki + WikiLambda, orchestrator, and evaluator
    • Can specify merged versions of the services
    • Can specify merged patches of WikiLambda
    • Can specify unmerged patches of WikiLambda
    • At the end of of milestone 0, can make an API call to manually create an instance for testing unmerged patches
  • Milestone 1: Trigger the creation of the above stack as part of the GitLab CI / pre-merge development experience for the function-orchestrator
  • Stretch Goals (optional / Not expected to be done in Q2 ) -> this scope is now in separate ticket, T394557
    • Milestone 1a: Integration into the GitLab pre-merge workflow for function-evaluator patches.
    • Milestone 2: Integration into the gerrit pre-merge workflow for WikiLambda patches.

Success Metrics ("work has impact")

  • Can deploy WikiFunctions ad hoc with a patch to orchestrator or evaluator
  • Use of Catalyst is integrated into the GitLab CI pipeline for the orchestrator.
  • Team can now do the manual testing using Catalyst that was previously using DUCT (extension testing)

Event Timeline

Sharvaniharan renamed this task from [25Q1] Testing Wikifunctions Services with Catalyst to [25Q1] Test Wikifunctions Services with Catalyst.Jun 19 2024, 10:53 PM
Sharvaniharan renamed this task from [25Q1] Test Wikifunctions Services with Catalyst to [25Q1] Test Wikifunctions Services with 'Catalyst'.
Sharvaniharan updated the task description. (Show Details)
Jdforrester-WMF renamed this task from [25Q1] Test Wikifunctions Services with 'Catalyst' to [25Q2] Test Wikifunctions Services with 'Catalyst'.Sep 25 2024, 7:41 PM
Jdforrester-WMF removed Jdforrester-WMF as the assignee of this task.
Jdforrester-WMF subscribed.
vaughnwalters added a subscriber: Etonkovidova.

After conversation with @Etonkovidova, removed the Acceptance Criteria/Success Metrics to expand test coverage by 10%. Can add new selenium tests as needed, but want to get the current ones working and stable with Catalyst first.

Changed the task description based on the Q2 PRD: Testing WF Services with Catalyst.

Jdforrester-WMF renamed this task from [25Q2] Test Wikifunctions Services with 'Catalyst' to Test Wikifunctions Services with 'Catalyst'.Jan 15 2025, 8:15 PM

Change #1135722 had a related patch set uploaded (by Jforrester; author: Jforrester):

[integration/config@master] Zuul: [mediawiki/extensions/WikiLambda] Make Catalyst job voting

https://gerrit.wikimedia.org/r/1135722

Change #1135722 merged by jenkins-bot:

[integration/config@master] Zuul: [mediawiki/extensions/WikiLambda] Make Catalyst job voting

https://gerrit.wikimedia.org/r/1135722

Mentioned in SAL (#wikimedia-releng) [2025-04-15T22:02:34Z] <James_F> Zuul: [mediawiki/extensions/WikiLambda] Make Catalyst job voting, for T368002

DSantamaria changed the task status from Open to In Progress.Apr 16 2025, 1:01 PM

Change #1137076 had a related patch set uploaded (by Jforrester; author: Jforrester):

[operations/deployment-charts@master] wikifunctions: Update orchestrator from 2025-04-08-183631 to 2025-04-16-192052

https://gerrit.wikimedia.org/r/1137076

Change #1137076 merged by jenkins-bot:

[operations/deployment-charts@master] wikifunctions: Update orchestrator from 2025-04-08-183631 to 2025-04-16-192052

https://gerrit.wikimedia.org/r/1137076

All original AC is met with the exception of stretch goal Milestone 1a: Integration into the GitLab pre-merge workflow for function-evaluator patches. which is now contained on a new ticket T394557

Also adding a note here about this related ticket to make the catalyst build and selenium tests blocking in the orchestrator gitlab pipeline T394558

All original AC is met with the exception of stretch goal Milestone 1a: Integration into the GitLab pre-merge workflow for function-evaluator patches. which is now contained on a new ticket T394557

Also adding a note here about this related ticket to make the catalyst build and selenium tests blocking in the orchestrator gitlab pipeline T394558

And because the remaining scope of this work is contained in another ticket to work on stretch goal 1A, I am marking this ticket as resolved. Nice work yall!! 🎉 🎉 🎉