Bonjour mes chers amis,
J'espère que vous passez une bonne journée. J'ai un problème que j'aimerais vous soumettre. J'utilise les GitHub Actions pour exécuter mes tests, et j'utilise MySQL comme base de données. Lorsque mon workflow est lancé, je rencontre une erreur :
SQLSTATE[HY000] [1045] Accès refusé pour l'utilisateur 'root'@'172.18.0.1' (mot de passe non spécifié) (Connexion : mysql, SQL : sélectionnez le nom de la table sous le nom, (data_length + index_length) comme taille, table_comment comme commentaire, engine comme moteur, table_collation comme collation à partir de tables_information_schema où tab_le_schema = 'laravel' et table_type dans ('BASE TABLE', 'SYSTEM VERSIONED') order by table_name)
Je serais reconnaissant si vous pouviez m'aider à résoudre ce problème. Voici mon fichier YAML :
name: Test on: [push, pull_request] jobs: run-tests: runs-on: ubuntu-latest services: mysql: image: mysql:8.0 ports: - 3306:3306 env: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: test_database options: >- --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 steps: - uses: actions/checkout@v4 - name: Set up PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: mbstring, intl, pdo_mysql ini-values: post_max_size=256M, upload_max_filesize=256M, memory_limit=512M coverage: xdebug - name: Install Composer dependencies run: composer install --prefer-dist --no-progress --no-suggest --ansi - name: Copy .env.example to .env run: cp .env.example .env - name: Update .env for MySQL run: | sed -i 's/DB_CONNECTION=.*/DB_CONNECTION=mysql/' .env sed -i 's/DB_HOST=.*/DB_HOST=127.0.0.1/' .env sed -i 's/DB_PORT=.*/DB_PORT=3306/' .env sed -i 's/DB_DATABASE=.*/DB_DATABASE=test_database/' .env sed -i 's/DB_USERNAME=.*/DB_USERNAME=root/' .env sed -i 's/DB_PASSWORD=.*/DB_PASSWORD=root/' .env - name: Wait for MySQL to be ready run: | sudo apt-get install -y mysql-client until mysql -h 127.0.0.1 -P 3306 -u root -proot -e "SHOW DATABASES"; do sleep 1; done - name: Generate application key run: php artisan key:generate - name: Run database migrations run: php artisan migrate --env=testing
Bonsoir @xdcondor, dans un premier temps as tu lancé l''exécution de ton gitHub action en local avant ? ensuite personnellement en lieu et place de crée un service mysql tu pourrais passer par sqlite cela te retirerai une autre couche pour tes tests.
name: Test on: [push, pull_request] jobs: run-tests: runs-on: ubuntu-latest steps: - uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: mbstring, intl, pdo_mysql ini-values: post_max_size=256M, upload_max_filesize=256M, memory_limit=512M coverage: xdebug - uses: actions/checkout@v4 - name: Install Composer dependencies run: composer install --prefer-dist --no-progress --no-suggest --ansi - name: Copy .env.example to .env run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Generate application key run: php artisan key:generate - name: Run database migrations run: php artisan migrate --env=testing
Merci @stevymarlino
Veuillez vous connecter ou créer un compte pour participer à cette conversation.