ramsey / composer-install

:gift: A GitHub Action to streamline installation of PHP dependencies with Composer.
MIT License
233 stars 32 forks source link

Composer config for http-basic #182

Open rreynier opened 3 years ago

rreynier commented 3 years ago

I am trying to install Laravel Nova in my CI workflow. Nova requires authentication. The easiest way which I did in the past when I manually installed Composer (without this action) was to simply run:

composer config http-basic.nova.laravel.com ${NOVA_USERNAME} ${NOVA_PASSWORD}

Can this be done with this action? Looks like maybe not at least out of the box.

ramsey commented 2 years ago

I'm not sure this should be a concern of this action.

Try out something like this, and let me know if it works for you:

- name: "Configure Composer"
  run: |
    composer config http-basic.nova.laravel.com ${NOVA_USERNAME} ${NOVA_PASSWORD}
- uses: "ramsey/composer-install@v2"
llaville commented 2 years ago

If I may, I had today with same kind of problem. I wanted to access one of my fork from another project on GitHub.

After reading :

I suggest to use the COMPOSER_AUTH env var strategy

In my case, I've added in my GitHub workflow :

        env:
            COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.CI_TOKEN }}"}}'

Using https://getcomposer.org/doc/articles/authentication-for-private-packages.md#http-basic is quite the same (just adjust the json syntax and secrets used

llaville commented 2 years ago

@ramsey Perharps a NOTE (section about authentication) in the README page will be welcome !