Оптимизация изображений с помощью GitHub Actions

На днях я экспериментировал с GitHub Actions. Отличный инструмент! Вы можете заставить его запускать необходимый код, например, запускать процессы сборки, тестирования и развертывания. Но это просто файлы конфигурации, которые могут запускать все, что вам нужно. Существует целый маркетплейс действий.

Я хотел запустить код для оптимизации изображений. Благодаря этому, мне никогда не придется об этом думать. Оптимизировать любое изображение в репозитории.

Для этого уже есть действие, image-actions от Calibre, которое мы и используем. Вам также необходимо убедиться, что для репозитория включены Actions.

Затем создайте файл по адресу ./github/workflows/optimize-images.yml. Вот где вы сможете настроить это действие. Все используемые вами действия могут иметь отдельные файлы, если вы захотите. Я создал действие в отдельном файле, потому что:1. оно работает только с «пушами запросов на ввод», поэтому, если у вас есть другие действия, которые выполняются с разными триггерами, они не будут стабильно работать совместно, 2. это то, что указано в официальной документации и похоже на предлагаемое использование.

name: Optimize images
on: pull_request
jobs:
  build:
    name: calibreapp/image-actions
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Repo
        uses: actions/checkout@master

      - name: Compress Images
        uses: calibreapp/image-actions@master
        with:
          githubToken: ${{ secrets.GITHUB_TOKEN }}

Теперь, если вы сделаете запрос на ввод, то увидите, что действие запущено.

А продемонстрированный ниже комментарий сообщает, что оно может выполнить оптимизацию.

Оно повторно закоммитит эти файлы обратно в запрос на ввод, поэтому, если вы собираетесь использовать запрос на ввод и продолжать работать, вам потребуется выполнить ввод еще раз, прежде чем вы сможете выполнить ввод, чтобы получить оптимизированные изображения.

Я могу видеть разницу при автоматической оптимизации:

Как я могу слить PR, зная, что все в порядке:

Довольно круто. Особенно сложной задачей является локальная оптимизация изображений? А вот и нет. Просто сначала нужно выполнить определенную техническую работу, а затем все будет работать автоматически.

Пожалуйста, оставляйте ваши комментарии по текущей теме материала. Мы очень благодарим вас за ваши комментарии, дизлайки, подписки, лайки, отклики!

Дайте знать, что вы думаете по этой теме в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!

Вадим Дворниковавтор-переводчик статьи «Optimize Images with a GitHub Action»