Giter Club home page Giter Club logo

template's Introduction

欢迎使用 Night Moon Studio 的开源模板.

新一轮的需求搜集: #6

所有细微的配置请参考工程中的 [使用说明.txt] 文档。

文章导航

了解这款开源模板:

  • 模板目录结构清晰,允许 .NET 开源爱好者直接上手免费开发:

    • 单元测试: /test/ut/ 为存放单元测试工程的文件夹.
    • 性能测试: /test/benchmark/ 为存放性能测试工程的文件夹.
    • 样例文件夹: /samples/ 存放源码样例的文件夹.
    • 源码文件夹: /src/ 存放源码工程的文件夹.
  • 实战配置:

    • 工程配置及管道配置吸取了大量的实战配置,满足大多数 .NET 开源开发者.
    • 有详细的 [使用说明.txt] 教程指导开发者理解和完成配置.
  • 一些疑问:

    • 工程中为何没有文档网站搭建相关的内容?(答:暂时没有,建议文档与工程分开.)
    • 我是否可以魔改这个模板?(答:可以,但更改目录结构可能破坏管道的一些功能,首先需要了解管道功能才可根据自己的需求定制模板.)

管道说明

关键 Token 配置:

  • Apply Token(可创建永久的):

    • 如果您的工程存放在个人账户下, 您需要申请一个私人 Token 来开放权限使用管道:
    • 请创建 经典版(classic) Token 而不是 Fine-grained Token, 后者权限太低;
    • 复制生成好的 Token 字符串, 在你的项目 Setting -> Secrets and variables -> Action 中创建变量:
环境变量
REPO_GITHUB_TOKEN {{your token string}}

ISSUE 管道:

  • ISSUE 推荐:

    • 当一个 ISSUE 创建时,我们的推荐功能将发挥作用,挑选出最多 7 个与其相似的 ISSUE.
  • ISSUE 用户屏蔽:

    • 当您收到一些恶意的无用的令人困扰的 ISSUE 时,您只需为其添加一个 aaa-block-user 标签,即可在该库中屏蔽该发帖用户。

PR 管道:

  • PR 检测 管道:

    • 单元测试:

      • 该管道将在用户向 dev** 提交 PR 后自动触发.
      • 该管道执行三个平台的 UT 测试任务.
      • 用户需要注意提交上来的代码是否有绕过 UT 测试.
    • 标签标记:

      • Label 标记将根据 labeler.yml 的配置对 PR 提交的代码进行标记.
    • ISSUE关联:

      • PR 标题将和指定的 ISSUE 进行比对,挑选出合适相似度的 ISSUE 进行关联.
  • PR 合并 管道:

    • 该管道将在成功合并 PR 后触发.
    • 该管道将当前 PR 添加到 {Project_Name}_VNext 的计划中.
    • 如果不存在 VNext 计划,将自动创建, 并归档当前 PR.
    • {Project_Name}_VNext 将在发版时自动归档.

发布管道:

发布管道将并行运行3个任务, 3个任务彼此之间互不影响, 如果其中执行出现意外, 可重复触发.
  • 打包任务:

    • 将在 CHANGELOG.md 提交时自动触发.
    • 将扫描 CHANGELOG.md 最后一个版本信息.
    • 将执行 ubuntu 环境的 UT 测试.
      • 1 是保证发布之前 UT 测试是通过的.
      • 2 是生成代码覆盖率文件.
    • 如果用户配置了代码覆盖率的上传密钥(https://app.codecov.io/gh/{{user}}/{{project}}/settings),覆盖率文件将上传至[网站](https://app.codecov.io/gh).
    • 然后执行 public 测试, 测试将匹配 CHANGELOG.md 以及 NUGET 网站中的包信息, 如果工程的打包信息合法,则进行打包.
    • 如果用户配置了 NUGET 的上传密钥,覆盖率文件将上传至 NUGET.
  • Release 任务:

    • 将在 CHANGELOG.md 提交时自动触发.
    • 扫描 CHANGELOG.md 最后一个版本信息.
    • 如果不存在该版本信息的包,将自动以该版本信息发布 Release / Tag 包.
  • Project 归档任务:

    • 将在 CHANGELOG.md 提交时自动触发.
    • 扫描 CHANGELOG.md 最后一个版本信息.
    • 归档现有的 {{project}}_VNext 计划到 {{project}}_Release_v{{version}} 计划.
    • 创建新的 {{project}}_VNext 计划.

发布管道不一定都执行成功,如 NUGET 上已存在发布包, 则 NUGET 任务在二次触发时将执行失败.

其他功能

这款模板除了实用的管道外还有其他功能:

  1. ISSUE 提问模板,您可以提一个 ISSUE 看看样例;

  2. 依赖检测机器人

    • 可以查看 project.yml 查看每个项目的依赖配置.

template's People

Contributors

nmsazulx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

template's Issues

[Feature]: 新一轮的需求搜集

💢 描述一下你的烦恼 (Is your feature request related to a problem? Please describe).

No response

💡 描述一下你理想中的解决方案 (Describe the solution you'd like).

  • 1. 增加邀请模板.
  • 2. PR 的 UT 测试报告.
  • 3. 完善使用教程.
  • 4. (待补充).....

❌ 描述一下你已经使用过或者考虑过的其他方案 (Describe alternatives you've considered).

No response

🍺 附加信息 (Additional context).

No response

📞 您的联系方式(Contact Details).

No response

[Invite]:入组申请

尊敬的组织成员:

你们好,我希望能够成为该组织中的一员,为组织做出贡献,我承诺遵守以下组织开发原则:

  • 深度学习或贡献某个开源项目.
  • 不故意无理由的诋毁竞品库.
  • 不向自己参与的项目提交恶意或反人类的代码及注释.
  • 遵守开发安全准则,PR 中不得出现敏感词汇及 APP 密钥等.
  • 谨言慎行,不触犯国家法律.
  • 不以组织及他人名义引战挑事.
  • 遵守组织颁布的开发规定.
  • 积极响应需求/问题/代码审阅等任务.
  • 以平和的语气及文字接收或提出建议及意见.

此致敬礼!

[Task]:

📃计划清单

### Natasha 
- [x] 1.  第一个计划实现。
- [ ] 2.  第二个计划未实现。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.