Skip to content

Conversation

@ZekiLiu
Copy link

@ZekiLiu ZekiLiu commented Jan 17, 2026

Introduce a minimal Go module and CI workflow (Go 1.21) for the upcoming Go SDK.

Reason for this PR

This PR bootstraps the initial Go SDK skeleton under go//graphar/ and sets up CI to run Go tests.
It is intended to provide a minimal, reviewable baseline so the community can iterate on the Go SDK design and implementation incrementally. #828

What changes are included in this PR?

  • Add a Go module under go/graphar/ (go/graphar/go.mod, Go 1.21).
  • Add a minimal SDK entrypoint (graphar.Client and graphar.NewClient()).
  • Add a minimal unit test to ensure the module is buildable and testable.
  • Add a GitHub Actions workflow (.github/workflows/go.yml) to run go test on changes in go/graphar/**.
  • Add go/graphar/Makefile with make test for a consistent developer workflow (aligned with other language subprojects).

Are these changes tested?

Yes.

  • Unit test: go test ./... (executed in CI via .github/workflows/go.yml).
  • The CI workflow is path-filtered to run when Go-related files change.

Are there any user-facing changes?

No. This PR only introduces the initial project skeleton and CI for the Go SDK; it does not implement GraphAr format reading/writing yet.

@ZekiLiu ZekiLiu force-pushed the 828-go-sdk-bootstrap branch 2 times, most recently from 794236d to 82ae651 Compare January 19, 2026 02:49
@ZekiLiu
Copy link
Author

ZekiLiu commented Jan 19, 2026

The previous license header check was failing because the header text didn’t match the expected template exactly (it was missing a space). I’ve updated the header formatting to match the template so the licencse check can pass.

@ZekiLiu ZekiLiu force-pushed the 828-go-sdk-bootstrap branch from 4fed154 to 5236a75 Compare January 19, 2026 08:28
@ZekiLiu
Copy link
Author

ZekiLiu commented Jan 19, 2026

Map go.* and go.mod to use the double-slash (//) comment style for proper header injection.

Reference: apache/fory/licenserc.toml

And verify these changes locally using Docker with the following command

docker run --rm \
  -v "$PWD:/github/workspace" \
  -w /github/workspace \
  -e "GITHUB_WORKSPACE=/github/workspace" \
  -e "CI=true" \
  ghcr.io/korandoru/hawkeye-native:v4.0.5 \
  check --config licenserc.toml

Result:

[main] WARN io.korandoru.hawkeye.command.HawkEyeCommandCheck - Processing unknown files: [/github/workspace/cpp/Doxyfile, /github/workspace/cpp/.clang-format, /github/workspace/python/.clang-format, /github/workspace/maven-projects/java/cmake/graphar-cpp.cmake, /github/workspace/.devcontainer/Makefile, /github/workspace/dev/release/conda_env_scala.txt, /github/workspace/dev/release/conda_env_cpp.txt, /github/workspace/cpp/graphar-config.in.cmake, /github/workspace/pyspark/template/module.html.jinja2, /github/workspace/go/Makefile, /github/workspace/cpp/cmake/apache-arrow.cmake, /github/workspace/cpp/Brewfile, /github/workspace/pyspark/Makefile, /github/workspace/cpp/graphar-config-version.in.cmake, /github/workspace/python/Makefile, /github/workspace/python/poetry.lock]
[main] INFO io.korandoru.hawkeye.command.HawkEyeCommandCheck - No missing header file has been found.

@ZekiLiu ZekiLiu force-pushed the 828-go-sdk-bootstrap branch from 5236a75 to 81349b7 Compare January 20, 2026 02:53
@yangxk1
Copy link
Contributor

yangxk1 commented Jan 20, 2026

Hi @ZekiLiu, thank you for doing so much. When the go file structure is ready, we should send an email to dev@graphar.apache.org for discussion and voting.

https://lists.apache.org/list.html?dev@graphar.apache.org

…ming Go SDK

* feat: initialize go module with v1.21

* ci: implement automated test workflow

* fix: license header format and configuratoin

* chore: move go/* to go/graphar
@ZekiLiu ZekiLiu force-pushed the 828-go-sdk-bootstrap branch from 81349b7 to 93e9d57 Compare January 20, 2026 02:58
@ZekiLiu ZekiLiu changed the title feat(go): initialize Go SDK skeleton under go/ feat(go): initialize a minimal Go module and CI workflow for the upcoming Go SDK Jan 20, 2026
@ZekiLiu
Copy link
Author

ZekiLiu commented Jan 20, 2026

Hi @ZekiLiu, thank you for doing so much. When the go file structure is ready, we should send an email to dev@graphar.apache.org for discussion and voting.

https://lists.apache.org/list.html?dev@graphar.apache.org

Got it, thank you!

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.

2 participants