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 stellar/go-xdr a non-fork #4

Closed
4 tasks done
leighmcculloch opened this issue Oct 24, 2019 · 1 comment
Closed
4 tasks done

Make stellar/go-xdr a non-fork #4

leighmcculloch opened this issue Oct 24, 2019 · 1 comment
Assignees

Comments

@leighmcculloch
Copy link
Member

leighmcculloch commented Oct 24, 2019

In response to discussion in #3 and no response from the core maintainer in davecgh#17, we're going to make stellar/go-xdr standalone. We should:

  • Merge Fix Go imports #3/Fix Travis build #5 to fix the Go imports in the xdr3 package so they refer internally only and not to parent/source repositories.
  • Update any other Go imports in other packages to refer internally only.
  • Remove discussion in the README.md file that this is a fork that we intend to merge upstream, and replace it with a thanks to the original maintainers and that this is a fork that is maintained separately for use in Stellar projects.
  • Get CI working using CircleCI like our other projects.
@leighmcculloch leighmcculloch self-assigned this Oct 24, 2019
leighmcculloch added a commit that referenced this issue Nov 18, 2019
Update the README to remove the statement that this is a temporary fork, remove details about `xdr2` and instead mention that `xdr3` is the latest version. Also add the Stellar Development Foundation as an additional copyright holder since 2015.

Why:

When the `go-xdr` project was originally forked from `davecgh/go-xdr` to `nullstyle/go-xdr` and then to `stellar/go-xdr` there was an assumption we'd take our improvements upstream. But our version has continued to fork significantly and now implements features in ways that are different with other open PRs on the upstream. An issue was opened at davecgh#17 to explore what options there were to merge changes upstream but the owner of the repository did not respond. While another member of the repository responded, the effort to merge upstream is somewhat significant so I think we'd only want to do that if we got strong buy-in from the repository owner.

Given that our version has diverged significantly and is used in Stellar's encoding and decoding of XDR in Go projects we're going to continue developing it here. We already took the first step of doing that by accepting the community contribution #3/#5.

I've added SDF to the LICENSE from 2015 because in this repository the changes made by SDF employees on both the `nullstyle/go-xdr` and `stellar/go-xdr` repositories occurred starting in the year 2015.

For #4
leighmcculloch added a commit that referenced this issue Nov 18, 2019
Move the CI checks from TravisCI to GitHub Actions, and have all checks run on all code in the repository, and fix some issues that resulted from running the checks on all code. Also added a simple `go.mod` file to support those changes.

We use CircleCI for all our builds at SDF and initially I explored in #8 just porting this to CircleCI too, but I think it's worth us experimenting with GitHub Actions as it's very powerful and available to all individuals on GitHub and for open source libraries like go-xdr we do not need to grant others access to run their PRs on our CircleCI account.

Some of the changes made in this PR are because checks were only running on one the `xdr2` package, and this makes them run on all packages. I simplified the existing `goclean.sh` script and renamed it to `gotest.sh`.

For #4
@leighmcculloch
Copy link
Member Author

Closing as addressed by issues #5, #6, and #9.

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

1 participant