1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/awesome-lib-awesome-go

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
COVERAGE.md 2.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 18:04 eddd1ea

Покрытие кода

Хотя мы рекомендуем использовать один из бесплатных веб-сайтов, доступных для мониторинга покрытия кода в процессе непрерывной интеграции, ниже приведён пример того, как можно включить покрытие кода в процесс непрерывной интеграции с помощью GitHub actions и создать отчёт о покрытии кода без использования этих сервисов.

Этот файл yaml будет запускать тесты на нескольких конфигурациях системы, но создаст отчёт о покрытии кода только для одной из них. Затем он создаст значок покрытия кода и добавит его в файл README.

Файл следует поместить в каталог .github/workflows вашего репозитория:

name: Go  # Название рабочего процесса, которое появится на Github

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  # Позволяет запустить этот рабочий процесс вручную из вкладки Actions
  workflow_dispatch:

jobs:

  build:
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        go: [1.16, 1.17]
    steps:
    - uses: actions/checkout@v2

    - name: Настройка Go
      uses: actions/setup-go@v2
      with:
        go-version: ${{ matrix.go }}

    - name: Сборка
      run: go install

    - name: Тест
      run: |
        go test -v -cover ./... -coverprofile coverage.out -coverpkg ./...
        go tool cover -func coverage.out -o coverage.out  # Заменяет coverage.out анализом coverage.out

    - name: Значок покрытия Go
      uses: tj-actions/coverage-badge-go@v1
      if: ${{ runner.os == 'Linux' && matrix.go == '1.17' }} # Запускает это только на одном из сборок ci.
      with:
        green: 80
        filename: coverage.out

    - uses: stefanzweifel/git-auto-commit-action@v4
      id: auto-commit-action
      with:
        commit_message: Применить значок покрытия кода
        skip_fetch: true
        skip_checkout: true
        file_pattern: ./README.md

    - name: Отправить изменения
      if: steps.auto-commit-action.outputs.changes_detected == 'true'
      uses: ad-m/github-push-action@master
      with:
        github_token: ${{ github.token }}
        branch: ${{ github.ref }}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/awesome-lib-awesome-go.git
git@api.gitlife.ru:oschina-mirror/awesome-lib-awesome-go.git
oschina-mirror
awesome-lib-awesome-go
awesome-lib-awesome-go
main