Skip to content

CI: Add GitHub Actions workflow to package C++ client binaries#17528

Merged
jt2594838 merged 4 commits intoapache:masterfrom
hongzhi-gao:feature/ci-cpp-client-pkg
Apr 21, 2026
Merged

CI: Add GitHub Actions workflow to package C++ client binaries#17528
jt2594838 merged 4 commits intoapache:masterfrom
hongzhi-gao:feature/ci-cpp-client-pkg

Conversation

@hongzhi-gao
Copy link
Copy Markdown
Contributor

@hongzhi-gao hongzhi-gao commented Apr 21, 2026

Summary

This PR adds a dedicated GitHub Actions workflow (.github/workflows/client-cpp-package.yml) that runs C++ client packaging only (no integration-test server startup), and uploads Maven-assembled archives:

iotdb-client/client-cpp/target/client-cpp-*-cpp-*.zip

The package step uses:

./mvnw clean package -P with-cpp -pl iotdb-client/client-cpp -am -DskipTests -Dspotless.check.skip=true -Dspotless.apply.skip=true

Trigger strategy (save CI + avoid release misses)

  • workflow_dispatch: manual run
  • release with published: always run
  • push on tags v*: always run
  • push on rc/**: run only when C++-related paths changed (via should-package + dorny/paths-filter)

Filtered paths for rc/** pushes:

  • pom.xml
  • iotdb-client/**
  • iotdb-protocol/**
  • .github/workflows/client-cpp-package.yml

This avoids missing packaging on version tags while still reducing CI load on rc/** branches.

Build matrix

  • Linux
    • ubuntu-22.04 (x86_64)
    • ubuntu-22.04-arm (aarch64)
  • macOS
    • macos-15-intel (x86_64)
    • macos-latest (arm64)
    • MACOSX_DEPLOYMENT_TARGET=12.0 in package step
  • Windows
    • windows-2022 (VS2022 toolchain path)
    • windows-2025-vs2026 (explicit -Dcmake.generator="Visual Studio 18 2026")

VS2019 was removed from CI matrix to avoid deprecated/scarce windows-2019 hosted runners. Local VS2019 guidance remains in iotdb-client/client-cpp/README.md if needed.

Notes

  • release events use the workflow definition from the repository default branch (GitHub behavior).
  • The existing multi-language-client workflow remains responsible for broader validation (verify / distribution-related flow); this workflow focuses on packaging artifacts.

Comment thread .github/workflows/client-cpp-package.yml Outdated
@jt2594838 jt2594838 merged commit d142b75 into apache:master Apr 21, 2026
27 checks passed
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.

3 participants