Я использую GitHub Actions для запуска PHP CS Fixer и PHPUnit для каждого созданного запроса на вытягивание. Я реализовал это действие GitHub для PHPUnit, и мой файл YML выглядит следующим образом.
name: PHPUnit Tests
on: [push]
jobs:
build-test:
name: PHPUnit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: php-actions/composer@v5
with:
php_extensions: mailparse pdo_mysql
dev: no
args: --profile --ignore-platform-reqs
- name: PHPUnit Tests
uses: php-actions/phpunit@v3
with:
php_version: 8.1
У меня ниже ошибка от PHPUnit Action.
994393dc58e7: Layer already exists
1e74372f6dff: Pushed
php-latest-mailparse-pdo_mysql-build2: digest: sha256:17078db8c8e36a72ce937d8b5f98eb0c0b814b91a2c20e14788039763b722300 size: 2831
Docker tag: docker.pkg.github.com/synega/connect/php-actions_composer_connect:php-latest-mailparse-pdo_mysql-build2
No private keys supplied
Command: composer install --no-dev --no-progress --no-interaction --profile --ignore-platform-reqs
Error: Process completed with exit code 1.
Как/где я могу получить приватные ключи для mailparse? Любая помощь будет высоко ценится.






Приватный ключ нужен не mailparse конкретно, а проекту в целом — приватные репозитории должны использовать SSH-аутентификацию — см. руководство composer-php-actions:
Для установки из частного репозитория необходимо использовать аутентификацию SSH. Сгенерируйте пару ключей SSH для этой цели и добавьте ее в конфигурацию вашего частного репозитория, желательно с правами только на чтение. Например, на Github это можно сделать с помощью ключей развертывания.
Добавьте пару ключей в свой проект, используя секреты Github, и передайте их в действие php-actions/composer, используя входные данные ssh_key и ssh_key_pub. Если ваш приватный репозиторий хранится не на github.com, а на другом сервере, вам также необходимо передать домен через ssh_domain.
Пример yaml, показывающий, как передавать секреты:
jobs: build: ... - name: Install dependencies uses: php-actions/composer@v6 with: ssh_key: ${{ secrets.ssh_key }} ssh_key_pub: ${{ secrets.ssh_key_pub }}На https://github.com/php-actions/example-composer доступен пример репозитория, в котором используется частная зависимость. Проверьте это для живого рабочего проекта.
В документации по Github Secrets рассказывается, как их создавать для Github.
Привет, я постараюсь следовать вашему ответу и вернусь как можно скорее. Большое спасибо. :)
Ваше предложение решило проблему, большое спасибо за помощь. :)
Вам нужно добавить
ACTION_SSH_KEYв секреты github для вашего проекта. Это необходимо для частных репозиториев. github.com/marketplace/actions/…