php-actions/composer@v6

Использование php-actions/composer@v6 в GitHub Actions

В данной статье я опишу процесс установки Composer пакетов в Github Actions с помощью php-actions/composer@v6 action, а так-же рассмотрим что такое GitHub Action.

Что такое GitHub Action

GitHub Action — это пользовательское приложение для платформы GitHub Actions, которое выполняет сложную, но часто повторяющуюся задачу. GitHub Action используется, чтобы сократить количество повторяющегося кода, который вы пишется в workflow файлах.
GitHub Action может сделать git pull вашего git-репозиторий из GitHub, установить правильный инструментарий для вашего workflow или настроить аутентификацию для вашего облачного провайдера.

Так-же вы можете создать свой собственный action.

Action php-actions/composer@v6

php-actions/composer@v6 — это GitHub action который позволяет устанвливать Composer пакеты для запуска линтера, UnitTests, Integration Tests, статических анализаторов или сборки проекта.

Преимущества использования php-actions/composer@v6:

  1. Простота использования: Данный GitHub Action легко настраивается и используется в вашем проекте, что дает быстрый старт и облегчает автоматизацию работы с Composer.
  2. Интеграция с GitHub Actions: Его использование в рамках системы GitHub Actions обеспечивает единое средство для управления автоматизацией в вашем проекте.
  3. Обновления и поддержка: Action активно поддерживается разработчиками, что обеспечивает своевременные исправления проблем и новые функциональные возможности.
  4. Интеграция с другими действиями GitHub Actions: Вы можете комбинировать php-actions/composer@v6 с другими действиями GitHub Actions для создания сложных рабочих процессов.

Использование

Создайте Github Workflow файл в  .github/workflows/ci.yml  со следующим содержимым:

name: CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3
      - uses: php-actions/composer@v6

     # now run your PHPCS package
      - name: Run PHPCS
        run: composer run phpcs

Теперь, когда вы запушите ваш код в репозиторий, и перейдете во вкладку Actions, вы увидите как запустился GitHub Action pipeline

использование php-actions/composer@v6

Если раскрыть php-actions/composer@v6 вы увидите лог установки Composer пакетов:

использование php-actions/composer@v6

Использование кеша

Github Actions позволяет кэшировать загрузку Composer пакетов из интернета между разными workflow/jobs. Это позволяет ускорить сборку проекта. Если файл composer.lock изменится, то пакеты будут заново скачиваться из интернета, т.к. кеш будет недействителен.

Использовать кеш в php-actions/composer@v6 можно следующим образом:

name: CI

on: [push]

jobs:
  build:
    runs-on: [ubuntu-latest]
    
    steps:
    - uses: actions/checkout@v3

    - name: Cache Composer dependencies
      uses: actions/cache@v3
      with:
        path: /tmp/composer-cache
        key: ${{ runner.os }}-${{ hashFiles('**/composer.lock') }}
      
    - uses: php-actions/composer@v6

    ...      

В приведенном примере в Cache передается «ключ», который состоит из хэша файла composer.lock. Это означает, что пока содержимое composer.lock не меняется между рабочими процессами, каталог кэша Composer будет сохраняться между рабочими процессами.

Пример

С реальным примером использования Composer, PHPCS и GtiHub Actions вы можете ознакомиться подробнее в репозитории https://github.com/renakdup/using-phpcs-for-wordpress

Итог

В данной короткой статье вы познакомились с тем что такое GitHub Action, как использовать php-actions/composer@v6 action а так-же рассмотрели как использовать кеширование. Есть так-же много других настроек о которых вы можете прочитать здесь.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *