phpzipphp-extensionscrutinizer

How to install php-zip extention on scrutinizer-ci?


I tried to use scrutinizer on my repo but return:

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for laravel/dusk v6.10.0 -> satisfiable by laravel/dusk[v6.10.0].
    - laravel/dusk v6.10.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
  Problem 2
    - Installation request for php-webdriver/webdriver 1.9.0 -> satisfiable by php-webdriver/webdriver[1.9.0].
    - php-webdriver/webdriver 1.9.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.

  To enable extensions, verify that they are enabled in your .ini files:
    - /home/scrutinizer/.phpenv/versions/7.3.15/etc/php.ini
    - /home/scrutinizer/.phpenv/versions/7.3.15/etc/conf.d/pyrus.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

How to install zip extention?

I tried use this config but not working:

build:
    nodes:
        analysis:
            dependencies:
                before:
                    - sudo apt-get install -y php-zip
            project_setup:
                override:
                    - 'true'
            tests:
                override:
                    - php-scrutinizer-run
                    -
                        command: phpcs-run
                        use_website_config: true
                    - js-scrutinizer-run
        tests: true

Solution

  • The correct config is:

    build:
        tests:
            override:
                - true
    
        nodes:
            tests:
                environment:
                    php:
                        version: 7.4
                        pecl_extensions:
                            - zip
            analysis:
                environment:
                    php:
                        version: 7.4
                        pecl_extensions:
                            - zip
                tests:
                    override: [php-scrutinizer-run]
    

    I just copied from this repo (I googled with keyword '.scrutinizer.yml php github zip'), but actually already described on the official docs . I was read it but misunderstood.