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

Make c6 Go Get-able, Format, prepare for linting. #77

Merged
merged 7 commits into from
Aug 24, 2015
Merged

Make c6 Go Get-able, Format, prepare for linting. #77

merged 7 commits into from
Aug 24, 2015

Conversation

omeid
Copy link

@omeid omeid commented Aug 14, 2015

Great work, but I don't see no reason to break compatibility with go tools, if anyone wants to have reproducible builds, they can use GoDeps.

I also passed all the code through go fmt and have added golint to Makefile, there is a tones of issues that needs to be fixed.

Once this is merged in, I am happy to help with linting the code and implementing missing features.

@c9s
Copy link
Owner

c9s commented Aug 14, 2015

how do i make it work with the private repository by this PR?

@c9s
Copy link
Owner

c9s commented Aug 14, 2015

I like the golint support, however can we separate ths support in another PR?

@omeid
Copy link
Author

omeid commented Aug 14, 2015

@c9s Can you please clarify what do you mean by making it work with your private repository?

In a simple scenario, you would just clone this code into your "private" $GOPATH/github.com/c9s/c6.

if you want to use it with another project and want reproducible builds, you would just import it with github.com/c9s/c6 path and once you call godep save it will simply clone the code and fix all the paths for you, automagically.

@omeid
Copy link
Author

omeid commented Aug 14, 2015

@c9s Yes, sure. I can revert the "golint"/go vet part.
So first go get-able/restructuring, then golint/go vet in another pull request?

@omeid
Copy link
Author

omeid commented Aug 14, 2015

godep is working to work along with Go 1.5's official vendoring experiment. So this seems to be the official way forward.

@c9s
Copy link
Owner

c9s commented Aug 14, 2015

Here is our development cycle:

  1. Push unstable changes to private repository. for example revision A.
  2. Jenkins fetch the revision A from private repository (not the github one) and build the package with dependency
  3. Ship compiled binaries for different platform (nightly builds)
  4. Once we got stable version, push changes (revision A) to GitHub

However I am not opposed to go get-table, I just wish that the build instructions can be the same, so we don't have to maintain the scripts and make it works fluently on both Jenkins and Travis-CI.

It would be great if you are willing to provide a godep PR for the above requirement before go-getable (?), then I think we can merge the go-getable PR.

And... If we can merge the golint PR before any things described above and that would be great too.

here is the preferred priority list:

  1. golint PR
  2. godep for better build instructions
  3. go getable

Thanks for your contributions. 👍

@omeid
Copy link
Author

omeid commented Aug 14, 2015

@c9s The remote location doesn't matter.

  1. Push code to private/repo/c6
  2. Jenkis fetches the revesion A from private/repo/c6 to $GOPATH/github.com/c9s/c6
  3. Build and Ship.
  4. Push to github.com/c9s/c6

Go tools are only interested in the location of the repository in the file system, regardless of it's origin.

@omeid
Copy link
Author

omeid commented Aug 14, 2015

Nothing needs to be done for godep, it will just work fine with anything that is go get-able.

@omeid
Copy link
Author

omeid commented Aug 14, 2015

@c9s Is there any reason there is both Travis and Wercker?

@c9s
Copy link
Owner

c9s commented Aug 14, 2015

you can basically ignore wercker, it was used when travis ci didnt work

@omeid
Copy link
Author

omeid commented Aug 15, 2015

So travis is now happy, sort of.

Here is my suggested path:

  1. Restructure and make it go get-able.
  2. Format code according to go fmt.
  3. Go vet.
  4. Start linting one package at a time.

@c9s
Copy link
Owner

c9s commented Aug 15, 2015

It seems that coveralls is not working, can you take a look?

@omeid
Copy link
Author

omeid commented Aug 16, 2015

It is working, but compiler package which wasn't included has very low coverage, it has resulted for the over all coverage to decrease.

@omeid
Copy link
Author

omeid commented Aug 22, 2015

@c9s Good idea, while we are at it, the tests should only need go test, that is, you should not require any other steps to run the tests and for them to pass.

The makefile should be just used for development, but do you really need the gen? I couldn't figure out what it is exactly used for? is it possible to drop it?

@c9s
Copy link
Owner

c9s commented Aug 22, 2015

No, we aren't using the gen, I removed it because it's using Go 1.4 API. we can remove it from the Makefile.

@omeid
Copy link
Author

omeid commented Aug 22, 2015

@c9s So with no gen there is almost no reason to have a Makefile. I will update the travis and documentation accordingly.

@omeid
Copy link
Author

omeid commented Aug 22, 2015

@c9s Also, can you please disable either Travis or Wrecker please.

@c9s
Copy link
Owner

c9s commented Aug 22, 2015

Thanks, I've removed the Wrecker webhook

c9s added a commit that referenced this pull request Aug 24, 2015
Make c6 Go Get-able, Format, prepare for linting.
@c9s c9s merged commit 393a8d0 into c9s:master Aug 24, 2015
@coveralls
Copy link

Coverage Status

Coverage increased (+33.8%) to 81.205% when pulling 1aed47a on omeid:master into f7f34c4 on c9s:master.

This pull request was closed.
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

Successfully merging this pull request may close these issues.

4 participants