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

Separate benchmark and examples #52

Open
aman00323 opened this issue Sep 6, 2022 · 12 comments
Open

Separate benchmark and examples #52

aman00323 opened this issue Sep 6, 2022 · 12 comments

Comments

@aman00323
Copy link
Collaborator

Hey @satyrius,

  • Currently, we are having multiple modules inside one repo which will not allow us to build in GitHub action.
  • We can rewrite the benchmark as part of testing, and examples will be covered in the readme file.
  • After that we can use the GitHub action for the test case.

Let me know your thoughts on this!

I would like it to take it further

@satyrius
Copy link
Owner

satyrius commented Sep 6, 2022

Hello @aman00323

Currently, we are having multiple modules inside one repo which will not allow us to build in GitHub action.

The repository structure is ancient. It was created in the era of first releases of golang and there was no standard solution for modules. It was just go get. It didn't change since then, because I'm coding primarily in nodejs now.

We can rewrite the benchmark as part of testing, and examples will be covered in the readme file.

The reason I set up examples running on CI was an extra assurance that software works. We can add missing bits to unit tests (if needed) and skip running examples. Though I like having ready to use code that a developer can execute right after cloning the repo.

After that we can use the GitHub action for the test case.

I'd love to move from Travis to GitHub actions

Action Plan

  • brush up the repository structure to meet modern golang standards
  • setup github actions

Please feel free to take care from now. But please move forward with small PRs that fixes/improves one thing at a time.

@aman00323
Copy link
Collaborator Author

aman00323 commented Sep 7, 2022

Please feel free to take care from now. But please move forward with small PRs that fixes/improves one thing at a time.

Sure @satyrius

I will start with brushing the existing structure, then we will pick GitHub action.

Also, I would like to suggest adding a few GitHub bots or actions that our life makes easier.

https://github.com/marketplace/pull-request-size
https://github.com/dependabot
https://github.com/marketplace/stale

@aman00323
Copy link
Collaborator Author

aman00323 commented Sep 7, 2022

@satyrius I would like to discuss one more thing, How we see this package in the future.

  • Because if we want to make it a golang package, then we would be making another repository that contains examples
  • Also we can add a docker image of an example, where you pass the log file path as an argument and you will get output in stdout

based on this decision it would make it easy to separate two things

  1. it will be golang package anyone can use inside their codebase.

  2. we will be providing docker and examples using gonx which will be ready to run (even we can publish binaries) (separate repository)

@satyrius
Copy link
Owner

satyrius commented Sep 7, 2022

I'm would like to have everything in one place. It should not affect the build for any dependable project anyway. Please, provide me example of famous golang libraries that have examples and Dockerfile and what not, so we can use it a a guide.

@aman00323
Copy link
Collaborator Author

Dockerfile context is here if we want to serve user ready-to-use library just like the example.

here is one example that I am aware of right now.

https://github.com/kscarlett/nginx-log-generator

@satyrius
Copy link
Owner

Alright! Looking forward to seeing pull requests from you.

@aman00323
Copy link
Collaborator Author

@satyrius Please review for our first check point

#53

I will make PR for the benchmark (which needs to be added in testcase)

@aman00323
Copy link
Collaborator Author

@satyrius I have one more suggestion, what if we add auto-release with GitHub action? So when we merge into master it would make a new tag so we don't need to release

@satyrius
Copy link
Owner

We can make it after we finished with the refactoring. We'll release a new major version and will add some "version bump" action

@aman00323
Copy link
Collaborator Author

@satyrius would you add me as collaborator, so i can avoid pushing from my repo everytime.

@satyrius
Copy link
Owner

@aman00323 sure thing! I sent you the invite

@aman00323
Copy link
Collaborator Author

thanks, @satyrius

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants