Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub Action - roave-bc-check-ga missing exts but regular docker is not? #19

Open
asgrim opened this issue Feb 10, 2021 · 3 comments
Open

Comments

@asgrim
Copy link

asgrim commented Feb 10, 2021

Possibly related to #18

I have a project that requires ext-sockets (among other extensions)

docker run --rm -v `pwd`:/app nyholm/roave-bc-check

Running this on my local machine works fine (yay)

However I added:

  roave-backwards-compatibility-check:
    name: "Check for BC breaks"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Roave BC Check
        uses: docker://nyholm/roave-bc-check-ga

to my GH Actions, which fails, saying

composer install --no-scripts --no-progress
  Installing dependencies from lock file (including require-dev)
  Verifying lock file contents can be installed on current platform.
  Your lock file does not contain a compatible set of packages. Please run composer update.
  
    Problem 1
      - Root composer.json requires PHP extension ext-sockets * but it is missing from your system. Install or enable PHP's sockets extension.
  
  To enable extensions, verify that they are enabled in your .ini files:
      - 
      - /usr/local/etc/php/conf.d/99_memory-limit.ini
      - /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini
      - /usr/local/etc/php/conf.d/docker-php-ext-gmp.ini
      - /usr/local/etc/php/conf.d/docker-php-ext-intl.ini
      - /usr/local/etc/php/conf.d/docker-php-ext-pcntl.ini
      - /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

What is the best approach to ensuring extensions are added here? Does the nyholm/roave-bc-check-ga image just need "all the extensions (TM)" or is there a way of saying which exts we want?

@ktomk
Copy link

ktomk commented Jun 2, 2021

Looks like these are the extensions available in the base image. Extending it with the extensions you need maybe already does it, it is itself based on the php alpine image (php 7.4 currently).

@Nyholm
Copy link
Owner

Nyholm commented Oct 7, 2021

I've updated it to use php:8.0-alpine and added sockets extension. Feel free to add more if needed.

@Nyholm
Copy link
Owner

Nyholm commented Oct 7, 2021

What is the best approach to ensuring extensions are added here?

Im honestly not sure. I think you saw this issue because the nyholm/roave-bc-check-ga was using the "wrong" base image. Can you try again to verify now? (Ive updated the CI)

Does the nyholm/roave-bc-check-ga image just need "all the extensions (TM)"

I think so..

is there a way of saying which exts we want?

Whenever you use the action you use the build docker image. So Im not sure how to specify extension in your action config.

I dont know how the setup-php actions is doing it. But they might modify the machine and not a docker image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants