Page MenuHomePhabricator

Fundraising should fall back to non master
Closed, ResolvedPublic

Description

Fundraising use fundraising/REL1_27 (currently) in MW Core. Then they use the REL1_27 branches of most extensions that they deploy

However, CI falls back to master on skins/extensions because there is no fundraising/REL1_27 branch

16:36:47 INFO:zuul.Cloner:upstream repo is missing branch fundraising/REL1_27
16:36:47 INFO:zuul.Cloner:Prepared mediawiki/skins/Vector repo with branch master at commit 509811110c905068c6ee9ba09157049d01eceb5b

It should do fundraising/REL1_27 -> REL1_27 -> master for the fallback chain

Related Objects

Event Timeline

Reedy created this task.Jul 9 2018, 5:09 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptJul 9 2018, 5:09 PM
hashar added a subscriber: hashar.Jul 11 2018, 1:48 PM

@Ejegg has sent a patch to CI config on that regard though it turned out to be a noop.

For the record, when a patch is sent to the DonationInterface extension on master branch, CI runs mwext-donationinterfacecore-REL1_27-zend56-jessie. It is a specially crafted job that uses PHP 5.6.

The clone utility is zuul-cloner, the target branch is passed via --branch and it can be overridden on a per project basis via --project-branch <repo>=<branch>

The job clones repositories using REL1_27 as the target branch with a couple exceptions. DonationInterface targets master and vendor.git targets fundraising/REL1_27. The command looks like:

zuul-cloner --branch REL1_27 \
  --project-branch=mediawiki/extensions/DonationInterface=master
  --project-branch=mediawiki/vendor=fundraising/REL1_27

To summarize:

repoTarget branch
mediawiki/coreREL1_27
mediawiki/vendorfundraising/REL1_27
mediawiki/extensions/DonationInterfacemaster
mediawiki/extensions/FundraisingEmailUnsubscribeREL1_27
mediawiki/extensions/ContributionTrackingREL1_27
mediawiki/extensions/ParserFunctionsREL1_27
mediawiki/extensions/cldrREL1_27
mediawiki/skins/VectorREL1_27

Looking at the last change on DonationInterface https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/DonationInterface/+/445017/ the job did:

INFO:zuul.Cloner:Prepared mediawiki/core repo with branch REL1_27 at commit 6ae354e8268bff139af0d1e6a78024dd99fa8e73
INFO:zuul.Cloner:Updating origin remote in repo mediawiki/vendor to https://gerrit.wikimedia.org/r/p/mediawiki/vendor
INFO:zuul.Cloner:Prepared mediawiki/vendor repo with branch fundraising/REL1_27 at commit ec4d3165a5e97ed273a3e518ba657a5f389f8abb
INFO:zuul.Cloner:Prepared mediawiki/extensions/DonationInterface repo with commit cb478c5d6ee2ba1724ec27ea06cc4e06e4df4a70
INFO:zuul.Cloner:Prepared mediawiki/extensions/FundraisingEmailUnsubscribe repo with branch REL1_27 at commit d0f9a78ac108ec86e24d800ed6bd4a82568b6f8e
INFO:zuul.Cloner:Prepared mediawiki/extensions/ContributionTracking repo with branch REL1_27 at commit 2819783d67bef23c03dfb6a054a90473750be1a0
INFO:zuul.Cloner:Prepared mediawiki/extensions/ParserFunctions repo with branch REL1_27 at commit d0a5d10aaf44553956b5cb3da70a13d121904aad
INFO:zuul.Cloner:Prepared mediawiki/extensions/cldr repo with branch REL1_27 at commit 79943175832bee79fac11b66132a9cdffc76b3a3
INFO:zuul.Cloner:Prepared mediawiki/skins/Vector repo with branch REL1_27 at commit bde9b1ae694ac45ffcf468c421f1b8c22a41f615

And eventually I figured out that the issue is when sending a patch to mediawiki/core branch fundraising/REL1_27 (example: Gerrit 445019). That uses the generic job which does not have a target branch (--branch), hence zuul-cloner tries to fetch fundraising/REL1_27 which might not exist and thus fall back to master:

INFO:zuul.Cloner:Creating repo mediawiki/core from cache /srv/git/mediawiki/core.git
INFO:zuul.Cloner:upstream repo has branch fundraising/REL1_27
INFO:zuul.Cloner:Prepared mediawiki/core repo with commit 63372154d0874122ab7007a5eddc6b73b458c953 

INFO:zuul.Cloner:Creating repo mediawiki/skins/Vector from upstream
INFO:zuul.Cloner:upstream repo is missing branch fundraising/REL1_27   <--- EEEK
INFO:zuul.Cloner:Falling back to branch master

INFO:zuul.Cloner:Creating repo mediawiki/vendor from cache /srv/git/mediawiki/vendor.git
INFO:zuul.Cloner:upstream repo has branch fundraising/REL1_27
INFO:zuul.Cloner:Falling back to branch fundraising/REL1_27
INFO:zuul.Cloner:Prepared mediawiki/vendor repo with branch fundraising/REL1_27

So for mediawiki/core fundraising branch we should skip the generic job mediawiki-quibble-vendor-mysql-hhvm-docker and instead run the specific job that has the --branch parameter ( mwext-donationinterfacecore-REL1_27-zend56-jessie ).

hashar claimed this task.Jul 11 2018, 2:13 PM

Change 445169 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] Use DonationInterface job for mw/core fundraising branch

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

Change 445169 merged by jenkins-bot:
[integration/config@master] Use DonationInterface job for mw/core fundraising branch

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

A dummy change to mediawiki/core fundraising/REL1_27 https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/445186/

mwext-donationinterfacecore-REL1_27-zend56-jessie:

INFO:zuul.Cloner:Prepared mediawiki/core repo with branch REL1_27
INFO:zuul.Cloner:Prepared mediawiki/vendor repo with branch fundraising/REL1_27
INFO:zuul.Cloner:Prepared mediawiki/extensions/DonationInterface repo with branch master
INFO:zuul.Cloner:Prepared mediawiki/extensions/FundraisingEmailUnsubscribe repo with branch REL1_27
INFO:zuul.Cloner:Prepared mediawiki/skins/Vector repo with branch REL1_27

And it runs: mediawiki-core-hhvmlint

We do not npm test nor composer test. That is integrated in the Quibble jobs which are no more run for mediawiki/core. Tentatively we could read them, though I would rather switch to a Quibble job that knows how to use a different target branch.

Change 448762 had a related patch set uploaded (by Thcipriani; owner: Ejegg):
[integration/config@master] Skip quibble tests on fundraising/REL1_31

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

Change 448762 merged by jenkins-bot:
[integration/config@master] Skip quibble tests on fundraising/REL1_31

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

Change 468018 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] mediawiki/core has fundraising/RELxxx branches

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

Change 468018 merged by jenkins-bot:
[integration/config@master] mediawiki/core has fundraising/RELxxx branches

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

T199130#4415801 has a reproduction case, gotta verify whether it is fixed now.

greg triaged this task as Normal priority.Apr 16 2019, 12:13 AM
hashar closed this task as Resolved.May 2 2019, 12:42 PM

Assuming it is fixed properly now.