Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Code Health] Improve the documentation, testing and overall health of the repo #7

Closed
15 tasks
h5law opened this issue May 24, 2023 · 0 comments · Fixed by #8
Closed
15 tasks

[Code Health] Improve the documentation, testing and overall health of the repo #7

h5law opened this issue May 24, 2023 · 0 comments · Fixed by #8
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@h5law
Copy link
Collaborator

h5law commented May 24, 2023

Objective

In its current state, this repository can do with some improvements to help in its maintainability and further development.

This means increasing the amount of documentation, and tests (local and CI), as well as fixing the issues related to fuzzing.

Origin Document

Screenshot from 2023-05-24 10-34-32

Goals

  • Improve the documentation in the repo
  • Improve the testing framework
  • Fix fuzzing
  • Add benchmarks

Deliverable

  • Improve the documentation in the repo
    • More descriptive README.md file, with a description of the project as well as examples
    • Improve Godoc comments in the source code
    • Add any further documentation as is necessary
  • Improve the testing framework
    • Ensure maximum code coverage with unit tests
    • Integrate the repo with Codecov (as it previously was)
    • Setup CI workflows to test the repo
  • Fix fuzzing
    • Look into oss-fuzz and fix its current implementation into the pokt-network/smt repo
    • Integrate fuzzing into the local test suite
    • Look into merging this PR which could integrate oss-fuzz into our CI workflows
  • Add benchmarks
    • Add some benchmark tests that can be used for future performance enhancements to compare against

Non-goals / Non-deliverables

  • Alter any logic relating to the SMT and its functionality outside of the realm of code cleanup

General issue deliverables

  • Update any relevant README(s)
  • Add or update any relevant or supporting mermaid diagrams

Testing Methodology

  • Task specific tests or benchmarks: go test ...
  • New tests or benchmarks: go test ...
  • All tests: go test -v

Creator: @h5law
Co-Owners: @h5law

@h5law h5law added documentation Improvements or additions to documentation enhancement New feature or request medium labels May 24, 2023
@h5law h5law self-assigned this May 24, 2023
@h5law h5law removed the medium label May 24, 2023
@h5law h5law closed this as completed in #8 Jun 1, 2023
h5law added a commit that referenced this issue Jun 1, 2023
## Overview

This PR addresses the lack of documentation in the repo by adding some
details to the `README.md` file and adds some more godoc comments
throughout the codebase.

The workflow files have been updated to a use go version 1.18 and have
been updated to fully test the repo and produce code coverage reports
and check against linters.

The legacy fuzzing has been removed and instead now uses go native
fuzzing, the fuzzing tests remain the same and can be improved upon in a
separate PR. The oss-fuzz build script has been removed until this repo
is on oss-fuzz a new script will not be made.

Additionally linter errors have been addressed.

## Issue

Fixes #7 

Additional testing enhancements will be covered in a separate PR

## Checklist

- [x] Update any relevant README(s)
- [x] Add or update any relevant or supporting
[mermaid](https://mermaid-js.github.io/mermaid/) diagrams
- [ ] Task specific tests or benchmarks: go test ...
- [x] New tests or benchmarks: go test ...
- [x] All tests: go test -v

---------

Co-authored-by: Daniel Olshansky <olshansky.daniel@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant