Page MenuHomePhabricator

Archive the wikimedia/avro library
Closed, ResolvedPublicRequest

Description

Reason
We've dropped use of this from MediaWiki (T265967: Proposal: drop avro dependency from mediawiki). No other known users. It's a fork from apache/avro.

To-do list

  • This task
    • Add maintainers of the library as subscribers to this task.
  • Upstream publication
  • On-wiki documentation
    • NA
  • Phabricator
    • Mark all Phabricator tasks for the extension/skin either Declined or Invalid. Add a comment pointing to this task when doing so for reference.
  • Translatewiki.net/translations
    • NA
  • Configuration/tests/integrations/etc.
  • Repositories

Event Timeline

Note that the github mirror is used by packagist.org and removing it might break things.

In the interest of allowing others to fork, perhaps just archive the github repository?

Oh, yeah, forgot to add removal from Packagist.

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

[integration/config@master] Zuul: [avro-php] Mark as archived

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

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

[avro-php@master] Archive repo

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

Change 865209 merged by Jforrester:

[avro-php@master] Archive repo

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

Change 860061 merged by jenkins-bot:

[integration/config@master] Zuul: [avro-php] Mark as archived

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

In the interest of allowing others to fork, perhaps just archive the github repository?

This changes breaks installation of mainline mediawiki 1.35 (not a fork) as composer can no longer find this required repository:

    Info from https://repo.packagist.org: [37;44m#StandWith[30;43mUkraine[0m
    ./composer.json has been updated
    > ComposerHookHandler::onPreUpdate
    Loading composer repositories with package information
...
      - Installing wikimedia/avro (v1.9.0): Downloading (connecting...)Downloading (0%)           Downloading (failed)    Failed to download wikimedia/avro from dist: The "https://api.github.com/repos/wikimedia/avro-php/zipball/b2e0c9d750da03d95ba979215397f62a6121ddea" file could not be downloaded (HTTP/1.1 404 Not Found)
        Now trying to download from source
      - Installing wikimedia/avro (v1.9.0): Cloning b2e0c9d750
  
    Installation failed, reverting ./composer.json to its original content.
  
    In Git.php line 393:
  
      Failed to clone https://github.com/wikimedia/avro-php.git via https, ssh pr
      otocols, aborting.
  
      - https://github.com/wikimedia/avro-php.git
        Cloning into '/var/www/mediawiki-1.35.7/vendor/wikimedia/avro'...
        fatal: could not read Username for 'https://github.com': No such device o
      r address
  
      - git@github.com:wikimedia/avro-php.git
        Cloning into '/var/www/mediawiki-1.35.7/vendor/wikimedia/avro'...
        Host key verification failed.
        fatal: Could not read from remote repository.
  
        Please make sure you have the correct access rights
        and the repository exists.

Since 1.35 is still supported until September 2023, can this package be re-added (even if the repository is read-only from this point)? I have not tested other mediawiki versions to see if others are affected too.

Hi all 👋 We have a legacy PHP app that depends on wikimedia/avro-php via Composer and Packagist. Our build is currently failing due to the repo being deleted from GitHub:

Failed to download wikimedia/avro from dist: The "https://api.github.com/repos/wikimedia/avro-php/zipball/dfe0ddccd7deb00fb9dadf85c5985ba8a847edc9" file could not be downloaded (HTTP/1.1 404 Not Found)

Would it be possible to re-mirror the repo to GitHub and then mark it as archived instead?

This also breaks CI (at least in some repos)

e.g. https://integration.wikimedia.org/ci/job/quibble-composer-mysql-php73-noselenium-docker/37190/console

14:06:27 [16.7MiB/2.07s]   - Syncing wikimedia/avro (v1.9.0) into cache
14:06:28 
14:06:28 In Git.php line 453:
14:06:28                                                                                
14:06:28   [RuntimeException]                                                           
14:06:28   Failed to clone https://github.com/wikimedia/avro-php.git via https, ssh pr  
14:06:28   otocols, aborting.                                                           
14:06:28                                                                                
14:06:28   - https://github.com/wikimedia/avro-php.git                                  
14:06:28     Cloning into bare repository '/cache/composer/vcs/https---github.com-wiki  
14:06:28   media-avro-php.git'...                                                       
14:06:28     remote: Support for password authentication was removed on August 13, 202  
14:06:28   1.                                                                           
14:06:28     remote: Please see https://docs.github.com/en/get-started/getting-started  
14:06:28   -with-git/about-remote-repositories#cloning-with-https-urls for information  
14:06:28    on currently recommended modes of authentication.                           
14:06:28     fatal: Authentication failed for 'https://github.com/wikimedia/avro-php.g  
14:06:28   it/'                                                                         
14:06:28                                                                                
14:06:28   - git@github.com:wikimedia/avro-php.git                                      
14:06:28     Cloning into bare repository '/cache/composer/vcs/https---github.com-wiki  
14:06:28   media-avro-php.git'...                                                       
14:06:28     error: cannot run ssh: No such file or directory                           
14:06:28     fatal: unable to fork                                                      
14:06:28

Note that the github mirror is used by packagist.org and removing it might break things.

In the interest of allowing others to fork, perhaps just archive the github repository?

Ah, sorry, good point, I should have thought of that. Fixed (GitHub mirror repo re-created and re-synced).

We'll point people to rg/avro-php but old access is still needed because Packagist (sigh).

In the interest of allowing others to fork, perhaps just archive the github repository?

This changes breaks installation of mainline mediawiki 1.35 (not a fork) as composer can no longer find this required repository:

Ah, sorry about that. Though note that you should not use composer install for a production system without the --no-dev flag, which would have also fixed the problem for you.

Since 1.35 is still supported until September 2023, can this package be re-added (even if the repository is read-only from this point)? I have not tested other mediawiki versions to see if others are affected too.

Yeah, it was dropped before 1.36 was cut, so it's only 1.35 that is affected. Sorry!

Hi all 👋 We have a legacy PHP app that depends on wikimedia/avro-php via Composer and Packagist. Our build is currently failing due to the repo being deleted from GitHub:

Failed to download wikimedia/avro from dist: The "https://api.github.com/repos/wikimedia/avro-php/zipball/dfe0ddccd7deb00fb9dadf85c5985ba8a847edc9" file could not be downloaded (HTTP/1.1 404 Not Found)

Would it be possible to re-mirror the repo to GitHub and then mark it as archived instead?

Yeah, done, sorry! Given the vagaries of GitHub I'll leave it as non-archived for now.

This also breaks CI (at least in some repos)

Good point; sorry for the mess.

Should all be fixed now.

If the avro code is not actually useful/useable inside 1.35, we could remove it in the next 1.35 point release...

No worries @Jdforrester-WMF, thanks for the quick response!

If the avro code is not actually useful/useable inside 1.35, we could remove it in the next 1.35 point release...

Might be sensible, but of course I shouldn't have broken the package for other non-MW users. :-)

Jdforrester-WMF updated the task description. (Show Details)

It seems like its gone again? CI is failing for patches to REL1_35

More generally, is there really any harm in just leaving the code on github indefinitely (Maybe with a big banner saying this is no longer supported). Its not like we're paying for hosting on github.

This is also breaking 1.35 for me as well. It looks like 1.35 is still supported until September 2023, so can this repository (including the GitHub mirror) remain available until the EOL date at least? Thanks!

Recreated, and marked it as archived on github

Sorry about that. I removed it as part a clean up that (among other things) deleted empty repo mirrors, and left-over mirrors that went through archiving (where we usually delete the repo). I've modified the repo description to include a note about its continued use through Composer.

Peachey88 removed Due Date which was set to Feb 20 2023, 3:00 AM.Feb 20 2023, 9:35 PM
Peachey88 removed a subscriber: Jose_Junior_de_Oliveira.