volcano-sh / volcano-sh/agentcube

Define a release policy for Python packages

Open
#272 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
167
Forks
88
Avg merge
1d 11h
Merged PRs (30d)
2

Description

The Python CLI and SDK need a clearer release policy.

We have already seen repeated PyPI publish failures because regular main branch changes were able to trigger package publishing, while PyPI versions and filenames cannot be reused once published. The stopgap change in #271 prevents the immediate failure mode, but we still need to define how Python packages in this repository should be versioned and released.

I would like to propose the following policy.

Proposal

Stable releases of agentcube-cli and agentcube-sdk should follow the AgentCube release version and should be published only from release tags.

For example, when we cut an AgentCube release such as v0.2.0, the Python CLI and SDK should publish stable package versions derived from that same release, instead of being published independently from normal main branch changes.

Regular development on main should not publish to the public PyPI stable channel.

If we need installable builds for testing before a release, we should use a separate path:

  • preferably TestPyPI, or
  • uniquely versioned pre-releases such as .devN if we decide we want them on PyPI

We should also avoid maintaining unrelated package versions by hand in multiple places. A follow-up change should introduce a single source of truth for the Python package version so that the CLI and SDK stay aligned with the intended release version.

Expected workflow

  1. Normal PRs merge into main without publishing stable Python packages.
  2. Release preparation decides the next AgentCube version.
  3. A release tag triggers stable publishing for the Python CLI and SDK.
  4. Pre-release or test builds, if needed, go through TestPyPI or uniquely versioned development releases.

Why this direction

This keeps Python package publishing aligned with the overall project release flow, avoids repeated PyPI failures, and makes the release behavior much easier to understand.

Follow-up work

If there is agreement on this direction, the next PRs can cover:

  • version source unification for the Python packages
  • a test-build path for development releases
  • final cleanup of the current publish workflows

Related:

  • #249
  • #271

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review #271 and #249 along with the current Python package publishing workflows; the issue names no files or tests, so first map where agentcube-cli and agentcube-sdk versions and publish triggers are defined. Done means the release-tag workflow, version source, and TestPyPI or pre-release path are agreed and documented without main publishing stable packages.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.