Page MenuHomePhabricator

[ES-M5] Run EntitySchema CI at least once a day
Closed, ResolvedPublic5 Estimated Story Points

Description

Problem:

As of the implementation ADR 0003, EntitySchema makes use of Wikibase's hooks and service classes for adding a new Datatype.

In order to ensure the reliability of EntitySchema, and prevent regressions due to changes in Wikibase, we would like to add EntitySchema to a daily Wikibase CI test run (as opposed to every change) as described in T285049: Run CI tests daily on master for ungated extensions.

Acceptance Criteria:

  • A daily Wikibase CI test is configured to run together with EntitySchema

Event Timeline

Hence, EntitySchema tests should run as part of the Wikibase test suite in CI, so that we know when a change to Wikibase would break EntitySchema

To be honest, I’m not sure that this is worth the added slowdown to Wikibase CI that would (I assume) result from adding EntitySchema to it. I don’t think the risk of EntitySchema breaking from Wikibase changes is very large.

Hence, EntitySchema tests should run as part of the Wikibase test suite in CI, so that we know when a change to Wikibase would break EntitySchema

To be honest, I’m not sure that this is worth the added slowdown to Wikibase CI that would (I assume) result from adding EntitySchema to it. I don’t think the risk of EntitySchema breaking from Wikibase changes is very large.

Mh, to me this partly depends on the features that we are going to add in the future. Would it be possible to run just _some_ of the EntitySchema tests in Wikibase CI? For example, I could see us mainly using api-testing in EntitySchema to assert that the integration works as expected (esp. around dumps, rdf, json and such). Maybe we can limit it to that?

As an alternative, I could see us adding EntitySchema to the "runs the tests on the master branch every day" list of repositories, if it is not there already. (If it is, then I'm suprised that I have never heard about a failing browser test? Given how flaky they used to be...)

Task Review Notes:

  • At the time of writing this task, we are dependent on Wikibase classes that relate to data type registration
  • It seems likely, as we already depend on some Wikibase classes, that we will potentially depend on more in the future
  • We might want to find a way to only run some tests on Wikibase CI rather than our whole test suite
  • We might want to rephrase this task to perform a daily check instead of each time a change is submitted (which provides us with a warning system at the very least)

Task Prio Notes:

  • Impact Areas: Reliability
  • Might affect end users / production (covers the stability of our system from Wikibase side)
  • Affects monitoring efforts (new!!!)
  • Does not affect development efforts
  • Does not affect onboarding efforts
  • Might affect additional stakeholders (negatively, doing this in CI instead of daily, will slow down Wikibase CI)
ItamarWMDE renamed this task from Add EntitySchema to Wikibase CI to [MS-5] Add EntitySchema to Wikibase CI.May 9 2023, 1:24 PM
ItamarWMDE renamed this task from [MS-5] Add EntitySchema to Wikibase CI to [ES-M5] Add EntitySchema to Wikibase CI.
ItamarWMDE renamed this task from [ES-M5] Add EntitySchema to Wikibase CI to [SW] [ES-M5] Add EntitySchema to Wikibase CI.
ItamarWMDE added a project: Wikidata Dev Team.
ItamarWMDE renamed this task from [SW] [ES-M5] Add EntitySchema to Wikibase CI to [ES-M5] Add EntitySchema to Wikibase CI.May 10 2023, 12:18 PM
karapayneWMDE set the point value for this task to 5.Aug 8 2023, 9:25 AM
Michael renamed this task from [ES-M5] Add EntitySchema to Wikibase CI to [ES-M5] Run EntitySchema CI at least once a day.Aug 14 2023, 12:19 PM

Change 948558 had a related patch set uploaded (by Michael Große; author: Michael Große):

[integration/config@master] Run EntitySchema CI on master once a day

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

Change 953284 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/EntitySchema@master] [DNM] testing strategies for running daily tests with GitHub Actions

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

Change 953284 merged by jenkins-bot:

[mediawiki/extensions/EntitySchema@master] Run daily CI tests with GitHub Actions

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

Change 948558 abandoned by Michael Große:

[integration/config@master] Run EntitySchema CI on master once a day

Reason:

We went with GitHub CI instead, see I3dd7839c00ab1b7e6db5e34710db0fac11e065e1

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

Well, it’s green so far: https://github.com/wikimedia/mediawiki-extensions-EntitySchema/actions/

image.png (308×1 px, 42 KB)

But I think you mentioned that the email credentials still have to be configured?

Well, it’s green so far: https://github.com/wikimedia/mediawiki-extensions-EntitySchema/actions/

image.png (308×1 px, 42 KB)

But I think you mentioned that the email credentials still have to be configured?

Yes, I think that would be the next (and last) step. This is probably something @karapayneWMDE can help with?

In the EntitySchema GitHub repository, we need the Mail credentials to be configured in exactly the same way as they are in the Wikibase GitHub repository. (Unless those credentials are organized to be specific to that particular code repository. In which case we probably need a corresponding setup for EntitySchema.)

this repository was not listed under wmde team in github org. added and correct rights applied

karapayneWMDE moved this task from Doing to Todo/Backlog on the Wikidata Dev Team (Sprint-∞) board.

username and password added, please let me know if they're working as intended

username and password added, please let me know if they're working as intended

A test just now was successful. Thank you 👍

ItamarWMDE claimed this task.

Seems to be running daily. Validated by viewing the Github Action Logs: https://github.com/wikimedia/mediawiki-extensions-EntitySchema/actions. Thank you.