Выводим badge о состоянии Github Action воркера
В свободное от работы время, я разрабатываю собственный WYSIWYG редактор Jodit. Подобный проект бы не выжил без автотестов. Их там сейчас больше 1000. Я запускаю тесты при релизе новой версии. Но есть еще ветка master, туда код попадает иногда без релиза. К примеру я принимаю PR, и надо узнать состояние тестов. В этом мне помогал Бейджик в README файле. Но сейчас, все сломалось =)
В этом до недавнего времени мне помогал сервис TravisCI. Он запускал автотесты на каждый коммит в мастер и вежливо информировал меня прошли ли тесты. Очень удобно.
Не так давно я заметил, что 'вежливые письма' перестали приходить. Оказалось сервис без объявления войны, чего-то там поменял.
В других проектах, я давно использую для этого Github Actions. А Travis выбрал в 2016-м, когда их еще в помине не было. И давно рука чесалась переехать. Но раз оно работало, то я не трогал.
Ну что же, запускать автотесты через Github Actions это довольно просто:
Создаем файлик .github/workflows/tests.yml
name: Run tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1 #Setup Node
with:
node-version: '14'
- name: Run Karma Tests
run: |
npm install
npm run test
И пушим это дело. Тут ничего сложного. Автотесты завелись с первого раза. Статья не про это =) Раньше я использовал badge от тревиса:
![Build Status](https://travis-ci.org/xdan/jodit.svg?branch=master)](https://travis-ci.org/xdan/jodit)
Теперь можно сделать бейдж о статусе выполнения workflow в Github Actions.
![Build Status](https://github.com/{USERNAME}/{PROJECT}/workflows/{ACTIONNAME}/badge.svg)](https://github.com/{USERNAME}/{PROJECT}/actions/workflows/{FILENAME}.yml)
Например так:
![Build Status](https://github.com/xdan/jodit/workflows/Run%20tests/badge.svg)](https://github.com/xdan/jodit/actions/workflows/tests.yml)
И выглядит симпатично:
А вы что используете?