[Proposal] Establishing Testing Workflows
@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:
- Dynamic: unittest with
pytestand test coverage withcoverage - Static: analyzing with flake8, typing with
mypy, formatting withblack, import sort withisort
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.