shivammathur / setup-php

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
https://setup-php.com
MIT License
2.92k stars 341 forks source link

PHP 8.3 Hangs on extension installation #877

Closed Awatatah closed 1 day ago

Awatatah commented 1 day ago

Describe the bug Extenstion installation hangs to the point where I have to kill it with CTRL+C when using Github CLI + act extensions: $ gh act pull_request --rm

I used this as a reference to build my YAML file examples/laravel-postgres.yml

Version

Runners

Operating systems ubuntu:latest

PHP versions 8.3

To Reproduce I am using github cli with act extension

name: Laravel

on:
  push:
    branches: [ "development" ]
  pull_request:
    branches: [ "development" ]

jobs:
  laravel-tests:
    name: Laravel (PHP ${{ matrix.php-versions }})
    runs-on: ubuntu-latest

    services:
      postgres:
        image: postgres:15
        env:
          POSTGRES_DB: laravel_test
          POSTGRES_USER: laravel_user
          POSTGRES_PASSWORD: secret
        ports:
          - 5432:5432
        options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3

    env:
      DB_CONNECTION: pgsql
      DB_HOST: 127.0.0.1
      DB_PORT: 5432
      DB_DATABASE: laravel_test
      DB_USERNAME: laravel_user
      DB_PASSWORD: secret
      APP_ENV: testing
      CACHE_DRIVER: array
      SESSION_DRIVER: array
      QUEUE_CONNECTION: sync

    strategy:
      fail-fast: false
      matrix:
        php-versions: ['8.3']

    steps:
    - uses: actions/checkout@v4

    - name: Set up PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php-versions }}
        extensions: mbstring, dom, fileinfo, pgsql
        coverage: xdebug
      env:
          runner: self-hosted
          fail-fast: true
          update: true

    - name: Install composer dependencies
      run: |
        composer install --prefer-dist --no-interaction --no-progress --optimize-autoloader

    - name: Prepare Laravel Application
      run: |
        php artisan key:generate

    - name: Configure database
      run: |
        php artisan config:cache

    - name: Seed Database
      run: php artisan migrate:fresh --force --database=${{ env.DB_DATABASE }}
      env:
        DB_PORT: ${{ job.services.postgres.ports[5432] }}

    - name: Execute tests
      run: php artisan test
      env:
        DB_PORT: ${{ job.services.postgres.ports[5432] }}

Expected behavior To be successful

Screenshots/Logs

INFO[0000] Using docker host 'unix:///var/run/docker.sock', and daemon socket 'unix:///var/run/docker.sock' 
[Laravel/Laravel (PHP 8.3)] πŸš€  Start image=node:16-buster-slim
[Laravel/Laravel (PHP 8.3)]   🐳  docker pull image=postgres:15 platform= username= forcePull=true
[Laravel/Laravel (PHP 8.3)] using DockerAuthConfig authentication for docker pull
[Laravel/Laravel (PHP 8.3)]   🐳  docker pull image=node:16-buster-slim platform= username= forcePull=true
[Laravel/Laravel (PHP 8.3)] using DockerAuthConfig authentication for docker pull
[Laravel/Laravel (PHP 8.3)] Cleaning up services for job Laravel (PHP 8.3)
[Laravel/Laravel (PHP 8.3)] Cleaning up network for job Laravel (PHP 8.3), and network name is: act-Laravel-Laravel-PHP-8-3-7b115ce2b4101219694b5f956d7ebe569f1d7237b4091901102bedfa21f20f25-laravel-tests-network
[Laravel/Laravel (PHP 8.3)]   🐳  docker pull image=postgres:15 platform= username= forcePull=false
[Laravel/Laravel (PHP 8.3)]   🐳  docker create image=postgres:15 platform= entrypoint=[] cmd=[] network="act-Laravel-Laravel-PHP-8-3-7b115ce2b4101219694b5f956d7ebe569f1d7237b4091901102bedfa21f20f25-laravel-tests-network"
[Laravel/Laravel (PHP 8.3)]   🐳  docker run image=postgres:15 platform= entrypoint=[] cmd=[] network="act-Laravel-Laravel-PHP-8-3-7b115ce2b4101219694b5f956d7ebe569f1d7237b4091901102bedfa21f20f25-laravel-tests-network"
[Laravel/Laravel (PHP 8.3)]   🐳  docker create image=node:16-buster-slim platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Laravel/Laravel (PHP 8.3)]   🐳  docker run image=node:16-buster-slim platform= entrypoint=["tail" "-f" "/dev/null"] cmd=[] network="host"
[Laravel/Laravel (PHP 8.3)] container health of 7be83ae32548bdccb889bb8e2f9e4e2636542592e750b304a9ee31cc07a9cc3e (postgres:15) is starting
[Laravel/Laravel (PHP 8.3)] container health of 7be83ae32548bdccb889bb8e2f9e4e2636542592e750b304a9ee31cc07a9cc3e (postgres:15) is starting
[Laravel/Laravel (PHP 8.3)] container health of 7be83ae32548bdccb889bb8e2f9e4e2636542592e750b304a9ee31cc07a9cc3e (postgres:15) is starting
[Laravel/Laravel (PHP 8.3)] container health of 7be83ae32548bdccb889bb8e2f9e4e2636542592e750b304a9ee31cc07a9cc3e (postgres:15) is starting
[Laravel/Laravel (PHP 8.3)] container health of 7be83ae32548bdccb889bb8e2f9e4e2636542592e750b304a9ee31cc07a9cc3e (postgres:15) is healthy
[Laravel/Laravel (PHP 8.3)]   🐳  docker exec cmd=[node --no-warnings -e console.log(process.execPath)] user= workdir=
[Laravel/Laravel (PHP 8.3)]   ☁  git clone 'https://github.com/shivammathur/setup-php' # ref=v2
[Laravel/Laravel (PHP 8.3)] πŸ§ͺ  Matrix: map[php-versions:8.3]
[Laravel/Laravel (PHP 8.3)] ⭐ Run Main actions/checkout@v4
[Laravel/Laravel (PHP 8.3)]   🐳  docker cp src=/root/XXX/XXXXXXX/. dst=/root/XXX/XXXXXXX #<----- MASKED FOR PRIVACY
[Laravel/Laravel (PHP 8.3)]   βœ…  Success - Main actions/checkout@v4
[Laravel/Laravel (PHP 8.3)] ⭐ Run Main Set up PHP
[Laravel/Laravel (PHP 8.3)]   🐳  docker cp src=/root/.cache/act/shivammathur-setup-php@v2/ dst=/var/run/act/actions/shivammathur-setup-php@v2/
[Laravel/Laravel (PHP 8.3)]   🐳  docker exec cmd=[/usr/local/bin/node /var/run/act/actions/shivammathur-setup-php@v2/dist/index.js] user= workdir=
| [command]/bin/bash /run/act/actions/shivammathur-setup-php@v2/src/scripts/run.sh
| 
| ==> Setup PHP
| βœ“ PHP Installed PHP 8.3.8
| 
| ==> Setup Extensions
| php: symbol lookup error: php: undefined symbol: crypto_core_ristretto255_scalar_invert
| php: symbol lookup error: php: undefined symbol: crypto_core_ristretto255_scalar_invert
| php: symbol lookup error: php: undefined symbol: crypto_core_ristretto255_scalar_invert
^C[Laravel/Laravel (PHP 8.3)]   ❌  Failure - Main Set up PHP  # <----- HERE IS WHERE I EXITED WITH CTRL+C

[Laravel/Laravel (PHP 8.3)] Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.45/containers/02947697bb1bccdfb75a529a5db8c4063f0bee224eee9ef01575ad927916fc9a/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2Fpathcmd.txt": context canceled
[Laravel/Laravel (PHP 8.3)] Cleaning up container for job Laravel (PHP 8.3)

Additional context I am trying to set a Laravel test GitHUb workflow. Not sure what is wrong here.

Are you willing to submit a PR? n/a

shivammathur commented 1 day ago

@Awatatah With act only shivammathur/node images are supported. https://github.com/shivammathur/setup-php?tab=readme-ov-file#local-testing-setup