Действия для Устаревших Репозиториев GitHub
По мере расширения организации и развития проектов репозитории могут легко устаревать и становиться неактивными. Важно идентифицировать эти репозитории и предпринимать соответствующие действия, чтобы исходный код был организован и обновлён. Архивирование проектов, которые больше не находятся в активной разработке, сообщит остальным разработчикам, что полагаться на поддержку этого проекта больше не стоит.
GitHub представляет Stale Repos Action, инструмент, который поможет выявлять и сообщать о репозиториях, в которых не было активности. Таким образом вы можете обнаружить неактивные репозитории в своей организации, что позволит вам принять решение об их архивации, возрождении или переориентации усилий.
Чтобы начать использовать Stale Repos Action, выполните следующие действия:
1. Создайте новый репозиторий или используйте существующий для размещения рабочего процесса GitHub Action. Это будет репозиторий, в который вы получите отчёт.
2. Скопируйте пример рабочего процесса, приведённый ниже, в свой репозиторий, сохранив его в каталоге .github/workflows/ с расширением .yml, Например,
.github/workflows/stale_repos.yml. Обратите внимание, что в коде ниже по умолчанию используется один год. Используйте нужное вам целое количество дней с момента последнего коммита в ветку по умолчанию.3. Настройте необходимые значения среды, в примере рабочего процесса, приведённом ниже. Значения GH_TOKEN и ORGANIZATION следует заменить вашей информацией из секретов репозитория. См. подробнее, как их создать.
Примечание. Убедитесь, что ваш токен GitHub имеет доступ для чтения ко всем репозиториям в организации. GitHub использует токен личного доступа (классический) с выбранной областью read:org.
Пример:
name: stale repo identifierТеперь действие будет запускаться автоматически в соответствии с заданным вами расписанием, проверяя наличие неактивных репозиториев и создавая отчет о проблеме в текущем репозитории. В отчёте будет таблица неактивных репозиториев со ссылками на них и количеством дней неактивности для каждого репозитория.
on:
workflow_dispatch:
schedule:
- cron: '3 2 1 * *'
jobs:
build:
name: stale repo identifier
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Run stale_repos tool
uses: docker://ghcr.io/github/stale_repos:v1
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
ORGANIZATION: ${{ secrets.ORGANIZATION }}
INACTIVE_DAYS: 365
- name: Create issue
uses: peter-evans/create-issue-from-file@v4
with:
title: Stale repository report
content-filepath: ./stale_repos.md
assignees: <ВАШ_ЛОГИН_GITHUB>
См. также: Подробнее о GitHub Actions.
Источник: https://github.blog/2023-06-05-announcing-the-stale-repos-action/