Автоматизация зависимостей NPM с использованием такого обслуживания, как Greenkeeper отлично! Я бы не смогу поддерживать столько проектов без такого автоматизации.
Тем не менее, отрицатели, такие как Красивее или Стандарт разные. Каждая фиксация или новая версия функции представляет новые правила форматирования и могут нарушить ваши тесты. Если это произойдет, вы в конечном итоге просыпаетесь до уведомлений, таких как это:
В этом посте блога я автоматизирую обновления красивых, создавая запросы на тягу, которые включают в себя обновленный код. Это не помешает созданию вопросов, но однажды объединенные проблемы будут закрыты автоматически.
Настраивать
- Установить
красивее
в репозитории, если вы еще этого не сделали.
npm install --save-dev prettier
- Добавьте два сценария на ваш
package.json
Файл: один к линтам, и один, чтобы исправить ошибки подтягивания, когда это возможно:
{ ... "scripts": { ..., "lint": "prettier --check '{src,test}/**/*' README.md package.json", "lint:fix": "prettier --write '{src,test}/**/*' README.md package.json" } }
Адаптируйте пропущенные шаблоны файлов '{src, test}/**/*' readme.md package.json
по мере необходимости соответствовать вашим файлам.
- Установите . Greenkeeper Приложение GitHub. Это бесплатно для открытого источника! Вы получите начальный запрос на тягу, который будет обновлять все ваши зависимости с их соответствующими новейшими версиями. Слияние, которое потяните запрос, чтобы закончить настройку GreenKeeper.
- Создайте файл
.Github/Workflows/update-prettier.yml
name: Update Prettier on: push: branches: - greenkeeper/prettier-* jobs: update_prettier: runs-on: ubuntu-latest steps: # make your repository's code available to the action - uses: actions/checkout@v1 # setup Node 12. Change the version number to your preference - uses: actions/setup-node@v1 with: version: 12 # Install your package dependencies - run: npm ci # Fix linting errors with the new prettier version - run: npm run lint:fix # Create a pull request if there are any changes - uses: gr2m/create-or-update-pull-request-action@v1.x env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: title: "Prettier updated" body: "An update to prettier required updates to your code." branch: ${{ github.ref }} commit-message: "style: prettier"
Это действие GitHub будет работать на толчок
событие Но только если ветвь начинается с GreenKeyer/Cretetier-
. Это ветви, созданные как часть Мониторинг в режиме реального времени Greenkeeper Отказ Они снова удаляются, если ваши тесты проходят, иначе Greenkeeper создает проблему, как те, которые показаны на скриншоте выше.
Вот и все. В следующий раз выпущена новая прерывная версия, вы должны увидеть новое «обновление красивее», которые делают это:
Вы увидите это в действии с следующим выпуском красивее. Я надеюсь, что это немного снизит ваше обслуживание наверху! Счастливое обновление!
Оригинал: «https://dev.to/gr2m/automate-updates-of-prettier-standard-and-other-javascript-linting-tools-using-github-actions-nko»