Skip to content

ci: add release workflow to publish prebuilt SDK binaries - #628

Open
chinaux wants to merge 4 commits into
alibaba:mainfrom
chinaux:feat/release-prebuilt
Open

ci: add release workflow to publish prebuilt SDK binaries#628
chinaux wants to merge 4 commits into
alibaba:mainfrom
chinaux:feat/release-prebuilt

Conversation

@chinaux

@chinaux chinaux commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR adds a GitHub Release pipeline that publishes prebuilt C++/C SDK binaries, so users can consume zvec directly without building from source.

What's included

New workflows

  • .github/workflows/release.yml — the release entry point:
    • Triggered by pushing a v* tag, or manually via workflow_dispatch with a tag input
    • Calls the reusable build workflow, then creates a GitHub Release with
      auto-generated notes via softprops/action-gh-release
    • Tags containing alpha / beta / rc are automatically marked as prerelease
  • .github/workflows/_build_prebuilt.yml — reusable build workflow
    (workflow_call + workflow_dispatch), building the SDK on 4 platforms in parallel

Release assets

Asset Runner
zvec-sdk-linux-amd64.tar.gz ubuntu-24.04
zvec-sdk-linux-arm64.tar.gz ubuntu-24.04-arm
zvec-sdk-osx-arm64.tar.gz macos-15
zvec-sdk-windows-amd64.zip windows-2025

chinaux added 4 commits July 28, 2026 19:35
- release.yml: triggered by v* tag push or manual dispatch, creates GitHub Release via softprops/action-gh-release
- _build_prebuilt.yml: reusable workflow building zvec SDK (include/ + lib/, shared libs only) for osx-arm64, linux-amd64, linux-arm64 and windows-amd64 with DuckDB-style asset naming
…lock

When called via workflow_call, github.workflow resolves to the caller's name, making the reusable workflow compete with the caller for the same concurrency group and deadlocking the run. Concurrency is controlled by the caller (release.yml).
lz4's Makefile.inc defines 'INSTALL_DIR ?= install -d -m 755' as a command, which gets overridden by our INSTALL_DIR environment variable, breaking 'make install' on all Unix platforms. Prefix our env vars with ZVEC_.
@chinaux
chinaux requested a review from Cuiyus as a code owner July 28, 2026 11:46
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.

1 participant