As discussed in slack, we want to develop the fluxion Go bindings in a separate repository from fluxion. I'm opening an issue here for tracking and discussion outside of slack, where everything is eventually eaten by the slackbot monster. :japanese_ogre: The reasons are the following (summarized from slack):
Unlike Python, the Go bindings are not essential for using flux. Having them "packaged together" also doesn't make sense, because a Go developer is typically going to get them directly from Github anyway.
We can ensure compatibility much easier with automated testing and synced releases
Right now, we are adding huge complexity building with cmake and Go.
It's harder to work on the bindings having any change be to flux-sched, a core project
We should be using standard Go testing and not cmake custom commands
The situation is going to get worse as time progresses and we need more functionality/testing
It should be possible to develop for fluxion without worrying about Go in the same PR.
This needs to happen sooner than later, before there are lots of new Go projects using the bindings. The changes are fairly simple - all we really need is to expose a shared library for fluxion that go can use, and then hugely simplify the entire current project. The testing will be much easier, as will developing. The steps we will pursue are described in the task list below (wanted to try this out)!
Aside from task 1. I'll handle 2-3. And for the repository - I'll want to have admin permission to write/manage flux-framework/fluxion-go if one of the fearless leaders of flux could make that for me (ping @grondo @garlick @trws)! No rush, because we likely will need a few days for bullet 1, and of course I can do a lot of development without the repository!
This should be useful and exciting work, and help us move forward with go projects that use fluxion more easily.
### Tasks
- [ ] finish review of https://github.com/flux-framework/flux-sched/pull/1120
- [ ] update projects that rely on flux-sched (fluence and flex-<x>)
- [ ] Remove the go bindings from here
As discussed in slack, we want to develop the fluxion Go bindings in a separate repository from fluxion. I'm opening an issue here for tracking and discussion outside of slack, where everything is eventually eaten by the slackbot monster. :japanese_ogre: The reasons are the following (summarized from slack):
This needs to happen sooner than later, before there are lots of new Go projects using the bindings. The changes are fairly simple - all we really need is to expose a shared library for fluxion that go can use, and then hugely simplify the entire current project. The testing will be much easier, as will developing. The steps we will pursue are described in the task list below (wanted to try this out)!
Aside from task 1. I'll handle 2-3. And for the repository - I'll want to have admin permission to write/manage
flux-framework/fluxion-go
if one of the fearless leaders of flux could make that for me (ping @grondo @garlick @trws)! No rush, because we likely will need a few days for bullet 1, and of course I can do a lot of development without the repository!This should be useful and exciting work, and help us move forward with go projects that use fluxion more easily.