others.md 3.0 KB

other

本章将介绍如何使用 github action 实现自动化操作,如自动签到、issue 机器人、pull request 机器人等。

有趣的 Github Action

米游社原神自动每日签到 https://github.com/y1ndan/genshin-impact-helper

github ISSUE_TEMPLATE

项目配置 .github\ISSUE_TEMPLATE\bug_report_cn.md 用户提交 issue 时自动渲染模板即

issue form 模板

Github 最新推出了 issue 模板功能,可以在 .github/ISSUE_TEMPLATE 目录下创建yml 模板文件,当用户新建 issue 时,会自动渲染模板内容。

相比较于 issue 模板,issue form 模板更加灵活,可以根据用户输入的内容,自动触发事件。

name: Report Bug | 报告BUG
description: "Report bug"
title: "[Bug]: "
labels: []
body:
  - type: dropdown
    id: download
    attributes:
      label: Installation Method | 安装方法与平台
      options:
        - Please choose | 请选择
        - Pip Install (I ignored requirements.txt)
        - Pip Install (I used latest requirements.txt)
        - OneKeyInstall (一键安装脚本-windows)
        - OneKeyInstall (一键安装脚本-mac)
        - Anaconda (I ignored requirements.txt)
        - Anaconda (I used latest requirements.txt)
        - Docker(Windows/Mac)
        - Docker(Linux)
        - Docker-Compose(Windows/Mac)
        - Docker-Compose(Linux)
        - Huggingface
        - Others (Please Describe)
    validations:
      required: true

其中 type 为输入框类型(dropdown, textarea),id 为输入框 id,label 为输入框标题,options 为下拉框选项。

https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms


## issue 机器人

根据操作自动回复,自动触发事件。如 issue 标记未 duplicate 自动关闭; 

配置文件 `.github\stale.yml`

https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue


https://github.com/features/actions


目前机器人都由 github action 实现,创建一个 `.github\workflows\close_issues.yml` 文件,即可实现自动化操作。

yml on: issues:

types: [opened]

pull_request_target:

types: [opened]

每隔 5 分钟检查一次 issue,如果 issue 未标记为 duplicate,自动关闭 issue。

yml on: schedule:

- cron: '*/5 * * * *'

jobs: stale:

runs-on: ubuntu-latest
steps:
  - uses: actions/stale@v8
    with:
      stale-issue-message: 'This issue is stale because it has been open 100 days with no activity. Remove stale label or comment or this will be closed in 1 days.'
      days-before-stale: 100
      days-before-close: 1
      debug-only: true


## pull request 机器人

用户发起 pull request 后,自动检查代码规范,自动合并代码,自动发布到 npm 等。如果 pull request结束后,自动关闭相关 issue。

```

Donations

配置 .github\FUNDING.yml 用于接受捐赠