Отображение статуса сборки действий GitHub в README с примерами кода

Чтобы получить статус сборки рабочего процесса GitHub Actions и отобразить его в файле README, вы можете использовать различные методы. Вот несколько примеров:

  1. Использование Shields.io: Shields.io — это сервис, который предоставляет значки для различных целей, включая статус сборки. Вы можете создать динамический значок на основе текущего статуса сборки вашего рабочего процесса GitHub Actions. Вот пример фрагмента кода:
[![Build Status](https://img.shields.io/github/workflow/status/<username>/<repo>/<workflow-name>)](https://github.com/<username>/<repo>/actions)

Замените на свое имя пользователя GitHub, на имя вашего репозитория и на имя. вашего рабочего процесса. Этот значок будет отображать текущий статус сборки и ссылаться на страницу вашего рабочего процесса на GitHub.

  1. Использование переменных среды GitHub Actions: GitHub Actions предоставляет несколько переменных среды, к которым вы можете получить доступ во время выполнения рабочего процесса. Одной из этих переменных является GITHUB_REF, которая представляет ссылку Git (ветвь или тег), которая запустила рабочий процесс. Вы можете использовать эту переменную для определения текущей ветки и соответствующего отображения статуса сборки. Вот пример фрагмента кода с использованием JavaScript:
[![Build Status](https://github.com/<username>/<repo>/workflows/<workflow-name>/badge.svg?branch=${{ env.GITHUB_REF }})](https://github.com/<username>/<repo>/actions)

Замените , и <имя рабочего процесса>соответствующими значениями. Этот значок будет динамически отображать статус сборки в зависимости от ветки, которая запустила рабочий процесс.

  1. Использование API действий GitHub. Вы можете программно получить статус сборки рабочего процесса с помощью API действий GitHub. Вот пример фрагмента кода с использованием Python и библиотеки requests:
import requests
repo = '<username>/<repo>'
workflow_name = '<workflow-name>'
headers = {'Accept': 'application/vnd.github.v3+json'}
url = f'https://api.github.com/repos/{repo}/actions/workflows/{workflow_name}/runs'
response = requests.get(url, headers=headers).json()
latest_run = response['workflow_runs'][0]
status = latest_run['status']
print(f'The build status of {workflow_name} is {status}.')

Замените , и <имя рабочего процесса>соответствующими значениями. Этот код получает статус сборки последнего запуска указанного рабочего процесса и печатает его.