Квест → Как хакнуть форму
Прошли: 77
На днях я опробовал GitHub Actions. Это классный инструмент! Кратко: с его помощью можно запускать код за вас, например, запускать ваши процессы сборки, тесты и развертывания. Это просто файлы конфигурации, которые могут запускать все, что вам нужно. Существует целый маркетплейс Action'ов (действий), готовых работать на вас.
Что я хотел сделать, так это запустить код для оптимизации изображений. В этом случае мне не придётся думать/помнить об этом. Любое изображение в репозитории будет уже оптимизировано.
Для этого уже есть действия с изображениями Calibre, которые мы и будем использовать. Вам также нужно будет убедиться, что для репозитория включены действия. Однин из вариантов - включить действия непосредственно для репозитория:
Далее, вы создаёте файл в ./github/workflows/optimize-images.yml
. Там вы можете настроить это действие. Все ваши действия могут иметь отдельные файлы, при желании. Я сделал данное действие отдельным файлом, потому что:
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 }}
Теперь, если вы сделаете pull request (PR), вы увидите, как он работает:
После успешного запуска, action оставляет комментарий к pull-request'у, сообщая что ему удалось оптимизировать:
Кроме того, он повторно закоммитит эти файлы в этот же pull-request.
Я могу открть этот автоматический коммит и посмотреть разницу:
Предварительный просмотр коммита в Git Tower.
Убедившись, что всё хорошо, я могу слить PR:
Круто! Особо ли сложно локально оптимизировать ваши изображения? Нет. Стоит ли оно того, чтобы никогда больше об этом не беспокоиться? Да. Вы берете в работу часть технического долга, но сокращаете его в других местах, что является очень честной сделкой, по крайней мере, на мой взгляд.