Page MenuHomePhabricator

Run Wikilambda daily selenium tests against Catalyst
Closed, ResolvedPublic2 Estimated Story Points

Description

Wikifunctions currently has no daily selenium jobs running against any live env. With Catalyst up and running now, we should run the daily selenium jobs against that env as we used to run it against betacluster.

Get an API key for the AW team from the Catalyst team
Create a new catalyst / wikifunctions environment daily
Run selenium tests against this env
If tests pass, tear down the env.
If tests fail, report any failures, and tear down the env after X days (TBD how to address this)

Or it could be that we just tear down the env after X days whether tests pass or fail

Event Timeline

@vaughnwalters what's requested from the catalyst team is confirmation we can support this workload and a catalyst API key to use for this, correct? Is there anything else?

@vaughnwalters what's requested from the catalyst team is confirmation we can support this workload and a catalyst API key to use for this, correct?

@jeena Yes, this is correct.

Is there anything else?

I believe that's all that is needed from the Catalyst team. @Jdforrester-WMF please correct me if you think of anything I am missing here.

@vaughnwalters @Jdforrester-WMF re: the Catalyst token, someone already created one for AW early this year:

{"id": 3, "description": "abstract-wikipedia-ci", "createdAt": "2025-01-07T21:22:06.337Z"}

Would you happen to know if someone in your team still has it? Otherwise we can of course issue a new token and revoke the existing one

Added T383065 as a blocker for this on a hunch that whatever we build there will be re-used for a nightly run (I think). At the end of T383065, we'll be able to run selenium tests for new patches to Catalyst, if we want to run daily tests then that will involve much of the same work. We'll talk more among Catalyst folks to see if that's correct.

Cunningham's law test: I think the value of daily tests is that selenium tests run with WikiLambda alongside its dependent extensions and therefore if there is a breaking change in a dependent extension WikiLambda developers are notified EVEN IF WikiLambda has not pushed a patch.

...is that right?

Cunningham's law test: I think the value of daily tests is that selenium tests run with WikiLambda alongside its dependent extensions and therefore if there is a breaking change in a dependent extension WikiLambda developers are notified EVEN IF WikiLambda has not pushed a patch.

...is that right?

Yes. We don't care whose fault it is as much as that things are broken in tests, and plausibly thus for users when the train next rolls.

@vaughnwalters @Jdforrester-WMF re: the Catalyst token, someone already created one for AW early this year:

{"id": 3, "description": "abstract-wikipedia-ci", "createdAt": "2025-01-07T21:22:06.337Z"}

Would you happen to know if someone in your team still has it? Otherwise we can of course issue a new token and revoke the existing one

@jnuche I asked the team, and nobody said they have it. We should just issue a new token and revoke the old one.

@jnuche I asked the team, and nobody said they have it. We should just issue a new token and revoke the old one.

@vaughnwalters ack, np, let me (or anyone else in the Catalyst team) know once the new token is needed and we'll do that

thcipriani edited projects, added Catalyst (ko); removed Catalyst.
thcipriani changed the task status from Open to Stalled.Mar 24 2025, 4:23 PM

Setting this one to stalled, pending the work on the dependent task.

thcipriani changed the task status from Stalled to Open.Apr 4 2025, 7:54 PM

AIUI this is now un-stalled?

Yup!

jeena edited projects, added Catalyst (Kulupu Olin); removed Catalyst.
thcipriani changed the task status from Open to In Progress.Jul 21 2025, 4:17 PM
thcipriani assigned this task to jeena.
thcipriani set the point value for this task to 2.
thcipriani edited projects, added Catalyst (akesi npa); removed Catalyst (Kulupu Olin).
thcipriani moved this task from Backlog to In progress on the Catalyst (akesi npa) board.

Change #1171538 had a related patch set uploaded (by Jeena Huneidi; author: Jeena Huneidi):

[integration/config@master] Add daily trigger for wikilambda selenium tests

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

Change #1171538 merged by jenkins-bot:

[integration/config@master] jjb: [wikilambda-catalyst-end-to-end] Also trigger daily

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

@Jdforrester-WMF I am not sure how to tell if this has run daily or not. Is there a way to designate in a failure report (if there is one) that it came from the daily run, or to note its success? Right now if I get a failure notice I am not sure if it is from a daily run, wikilambda run, or orchestrator run.

Change #1176507 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: create specific job for Wikilambda daily tests

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

Change #1177387 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: stop triggering Wikilambda end-to-end daily

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

Change #1177388 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: wikilambda-catalyst-end-to-end does not use Castor

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

Change #1177393 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] dockerfiles: [catalyst] allow setting environment name

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

Change #1177394 had a related patch set uploaded (by Hashar; author: Hashar):

[integration/config@master] jjb: update wikilambda-catalyst-end-to-end image

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

Change #1177387 merged by jenkins-bot:

[integration/config@master] jjb: [wikilambda-catalyst-end-to-end] Stop triggering daily

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

Change #1177388 merged by jenkins-bot:

[integration/config@master] jjb: [wikilambda-catalyst-end-to-end] Don't set up with Castor, unused

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

Change #1177393 merged by jenkins-bot:

[integration/config@master] dockerfiles: [catalyst] Allow setting environment name

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

Mentioned in SAL (#wikimedia-releng) [2025-08-11T15:26:28Z] <James_F> Docker: [catalyst] Allow setting environment name, for T388056

Change #1177394 merged by jenkins-bot:

[integration/config@master] jjb: [wikilambda-catalyst-end-to-end] Update to new Catalyst image

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

Change #1176507 merged by jenkins-bot:

[integration/config@master] jjb: Create specific job for Wikilambda daily tests

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

OK, reactive and daily scheduled tasks are now split. @vaughnwalters, I should have triggered both in the past few minutes — did the failures come through, and were they distinguishable?

Yes thank you, I received both (one from WikiLambda, one from daily run) and they are distinguishable. Will this also allow me to distinguish between orchestrator and (when it lands) evaluator catalyst / selenium failures as well or is that a different scope?

wikilambdadaily run
Screenshot 2025-08-11 at 1.38.08 PM.png (1×2 px, 274 KB)
Screenshot 2025-08-11 at 1.41.02 PM.png (670×2 px, 122 KB)

Yes thank you, I received both (one from WikiLambda, one from daily run) and they are distinguishable. Will this also allow me to distinguish between orchestrator and (when it lands) evaluator catalyst / selenium failures as well or is that a different scope?

The orchestrator and evaluator tests run on gitlab so you won't see them on jenkins. If you are subscribed to the MR the test run belongs to then I think you would get an email for failures.

Change #1179783 had a related patch set uploaded (by Jeena Huneidi; author: Jeena Huneidi):

[integration/config@master] Update wikilambda daily selenium job

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

Change #1179783 merged by jenkins-bot:

[integration/config@master] Update wikilambda daily selenium job

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

I see the last run was successful, so I'm optimistically calling this resolved!

@vaughnwalters or @Jdforrester-WMF if that's tooo optimistic, let me know :)

Heya @thcipriani there are currently two wikilambda catalyst end to end daily jobs that are running, this one which passed last night, and this one which is still failing.

Can we just remove the failing one before calling this resolved? As for the successful one, awesome! I will keep an eye on it for the next few weeks to make sure it stays green. 🎉

Heya @thcipriani there are currently two wikilambda catalyst end to end daily jobs that are running, this one which passed last night, and this one which is still failing.

Can we just remove the failing one before calling this resolved? As for the successful one, awesome! I will keep an eye on it for the next few weeks to make sure it stays green. 🎉

Yep, @jeena got that one removed. Another successful build for the new one last night.