Chupurnov Valeriy
Chupurnov Valeriy
Front End Engineer

Выводим badge о состоянии Github Action воркера

travis ci vs 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)

И выглядит симпатично:

Badge результата GitHub Actions

А вы что используете?