opendal icon indicating copy to clipboard operation
opendal copied to clipboard

Tracking issues of golang binding

Open yuchanns opened this issue 1 year ago • 6 comments

The successor of #3205.

These are the tracking issues for opendal's golang binding. Please feel free to leave comments to select a task or add more tracking.

  • [x] Add contributing docs for golang https://github.com/apache/opendal/pull/5179
  • [x] Add CI for golang
  • [x] Implement opendal basic operations. https://github.com/apache/opendal/pull/4886
    • [x] stat
    • [x] delete
    • [x] read
      • [x] reader
    • [x] write
    • [x] lister
    • [x] copy
    • [x] rename
  • [x] Implement testing framework. https://github.com/apache/opendal/pull/4886
  • [ ] Manage the binary release repository
    • [x] CI for automatic release and tag version for pre-build binary like libopendal_c.so. https://github.com/apache/opendal-go-services/pull/2, https://github.com/apache/opendal-go-services/pull/7, https://github.com/apache/opendal-go-services/pull/8
    • [x] CI linter https://github.com/apache/opendal/pull/5060
    • [ ] Behavior tests for more services integration.
  • [ ] Add cross-platform support for Windows and Mac to JupiterRider/ffi.
    • [ ] Windows support https://github.com/apache/opendal/pull/5066
    • [ ] Darwin support
  • [ ] Enhance OpenDAL APIs for the bedrock C-Binding and Go-Binding.
    • [x] Writer. https://github.com/apache/opendal/pull/5141
    • [ ] ...(add more here)
  • [x] Conduct benchmarking for Go-Binding from CGO to Native. https://github.com/apache/opendal/pull/4893

yuchanns avatar Jul 13 '24 09:07 yuchanns

@Xuanwo Hi I think it is ready to release the first version since https://github.com/apache/opendal-go-services/pull/7 is merged.

The remaining task is to decide which services need to be released, and then you can launch a version :)

yuchanns avatar Jul 28 '24 10:07 yuchanns

@Xuanwo Hi I think it is ready to release the first version since apache/opendal-go-services#7 is merged.

The remaining task is to decide which services need to be released, and then you can launch a version :)

Thanks a lot! Would you like to add a release workflow in this repo? We can release go binding our next release.

Xuanwo avatar Jul 28 '24 11:07 Xuanwo

Ok, I'll see what I can do later.

yuchanns avatar Jul 28 '24 11:07 yuchanns

Ok, I'll see what I can do later.

Thanks the father of OpenDAL Golang in advance.

Xuanwo avatar Jul 28 '24 11:07 Xuanwo

It seems that we have not added formatting checks for the Go code in CI. How about using goimports directly?

zjregee avatar Aug 13 '24 04:08 zjregee

I recommend using https://github.com/golangci/golangci-lint-action.

yuchanns avatar Aug 13 '24 04:08 yuchanns

Implementing write seeker is still not possible at this time. All other tasks have been completed. Great work, @yuchanns!

Xuanwo avatar May 23 '25 18:05 Xuanwo