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 or 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 )
- 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)