(Magento 2.3.4, 2.4.1, 2.4.2, Composer 1.10.19, Ubuntu 18, PHP 7.3)
We have two marketplace accounts and paid-for extensions in both, for the same Magento instance. We'd like to use auth.json to provide credentials so it can be kept out of source control.
We've tried several solutions for this - all failed:
- private satis repo to "proxy" the packages
- using 'connect20.magentocommerce.com' as the hostname (an alternate name for repo.magento.com)
- using repo URLs in the form '[email protected]'
(where necessary, adding "canonical":false
in the repo config so it can 'fall through' to the next repo)
Issues we found were:
- when looking up the repo credentials, composer seems to only use the hostname so user@host doesn't work
- when using 'connect20.magentocommerce.com', the URLs in the downloaded package.json files all point to 'repo.magento.com', so it falls back to using the other credentials
- using satis to 'proxy' it means downloading every version of every package (guessing packagist could help with this, we are yet to try it)
We're using composer with an 'auth.json' file and needed it to be able to pull updates from both accounts during the same composer run.
Next step - we're trying out a private packagist setup to re-package the marketplace accounts.
My question is: is there a neat way to handle this?
(related composer issue: https://github.com/composer/composer/issues/8724 ) (related issue for tar errors when repackaging with satis: https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues/2098 )
satis.json