Это проекты Atogrades Action GitHub, основанные на настраиваемом наборе метрик и дают обратную связь по запросам (или единым коммитам) в GitHub. Я использую это действие для автоматического оценки студенческих проектов в моих лекциях в Мюнхенском университете прикладных наук.
Вы можете увидеть результаты этого действия в примере запроса о вытяжении, и связанный с этим вывод GitHub проверяет выход. Еще один пример реальногожира видна в запросе на вытяжение и проверяет результат фальшивого студенческого проекта.
Результаты действия могут использоваться для создания различных значков, которые показывают текущее состояние проекта. Действие записывает результаты действия в файл, называемый metrics.env в рабочей области. Этот файл можно использовать для создания значков, используя действие значка GitHub. Следующий фрагмент показывает, как создать несколько значков для вашего проекта, полный пример видна в моем рабочем процессе автограды.
[... Autograding, see above ... ]
- name : Write metrics to GitHub output
id : metrics
run : |
cat metrics.env >> "${GITHUB_OUTPUT}"
mkdir -p badges
- name : Generate the badge SVG image for the line coverage
uses : emibcn/[email protected]
with :
label : ' Line coverage '
status : ${{ steps.metrics.outputs.line }}%
color : ' green '
path : badges/line-coverage.svg
- name : Generate the badge SVG image for the branch coverage
uses : emibcn/[email protected]
with :
label : ' Branch coverage '
status : ${{ steps.metrics.outputs.branch }}%
color : ' green '
path : badges/branch-coverage.svg
- name : Generate the badge SVG image for the mutation coverage
uses : emibcn/[email protected]
with :
label : ' Mutation coverage '
status : ${{ steps.metrics.outputs.mutation }}%
color : ' green '
path : badges/mutation-coverage.svg
- name : Generate the badge SVG image for the style warnings
uses : emibcn/[email protected]
with :
label : ' Style warnings '
status : ${{ steps.metrics.outputs.style }}
color : ' orange '
path : badges/style-warnings.svg
- name : Generate the badge SVG image for the potential bugs
uses : emibcn/[email protected]
with :
label : ' Potential Bugs '
status : ${{ steps.metrics.outputs.bugs }}
color : ' red '
path : badges/bugs.svg
- name : Commit updated badges
continue-on-error : true
run : |
git config --local user.email "[email protected]"
git config --local user.name "GitHub Action"
git add badges/*.svg
git commit -m "Update badges with results from latest autograding" || true
- name : Push updated badges to GitHub repository
uses : ad-m/github-push-action@master
if : ${{ success() }}
with :
github_token : ${{ secrets.GITHUB_TOKEN }}
branch : main