OpenBMB / OpenBMB/XAgent

[Proposal] Establishing Testing Workflows

Open
#185 0 comments 0 reactions 2 assignees View on GitHub

@Umpire2018 is already working on this.

Since Nov 14, 2023.

Dominant language
Python
Stars
8.5k
Forks
905
PR merge metrics
No merged PRs in 30d

Description

Led by community developers @Umpire2018 and @Guo-Zhang and involving full participation, the proposal is to build a testing system that facilitates greater involvement of community developers and makes evaluation easier.

The testing workflow

The vision of this testing system is to establish a comprehensive and robust approach to ensure the quality and reliability of XAgent's codebase. By incorporating both static and dynamic testing techniques, we aim to catch potential issues early in the development process, minimize the risk of regressions, and streamline the evaluation process for future improvements.

This testing system will provide a solid foundation for the following aspects:

  1. Dynamic: unittest with pytest and test coverage with coverage
  2. Static: analyzing with flake8, typing with mypy, formatting with black, import sort with isort

Milestones

In Agile project management, milestones are specific points or events in a project that represent significant progress or achievements. While Agile methodologies, such as Scrum or Kanban, focus more on iterative and incremental development, milestones provide a way to track and celebrate important milestones throughout the project's lifecycle.

They should be discussed by the whole project. Let me give my examples:

M1: Coveraging unittest to 50%, before Jan 2024.
M2: Coveraging static to 100%, before Feb 2024.
M3: Coveraging testing to 100%, before March 2024.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.