Skip to content

ci(release): tag-triggered PyPI publishing + AgenticX migration - #233

Closed
lzsweb wants to merge 7 commits into
mainfrom
dev/v2.1-4
Closed

lzsweb wants to merge 7 commits into
mainfrom
dev/v2.1-4

Conversation

@lzsweb

@lzsweb lzsweb commented Nov 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add .github/workflows/release.yml: v* tag → validate (main ancestor + version match) → python -m build + twine check → PyPI trusted publishing (pypa/gh-action-pypi-publish@release/v1, environment pypi) → draft GitHub Release with rendered .github/release-template.md
  • Migrate agent runtime from vendored dashscope/acli/ to external dashscope-agenticx package; SDK keeps thin dashscope/expert.py adapter
  • Align Expert naming with AgenticX cli.experts API (_handle_expert_command, _DEFAULT_EXPERTS_REPO)
  • Move shared Expert tests from tests/legacy_1x/ (Python 3.11 only) to tests/cli/ (full matrix)
  • Bump version to 2.1.0rc1 for pre-release pipeline verification

Release workflow details

  • validate: tag commit must be on main; dashscope/version.py must match tag (strip v)
  • package: build wheel + sdist, twine check, upload only *.whl / *.tar.gz (no checksum files in dist)
  • pypi: trusted publishing via OIDC (id-token: write), environment pypi requires manual approval
  • release: render release-template.md with string.Template.safe_substitute (TAG_NAME / VERSION / FULL_CHANGELOG_URL), auto-detect pre-release (rc/a/b/dev), create draft GitHub Release

Prerequisites before tagging

  1. Merge this PR to main
  2. Configure PyPI trusted publisher for dashscope/dashscope-sdk-python: workflow release.yml, environment pypi
  3. Tag v2.1.0rc1 on the merge commit and push
  4. Approve the pypi environment in Actions
  5. Verify pip install dashscope==2.1.0rc1

Test plan

  • pre-commit run --files .github/workflows/release.yml .github/release-template.md dashscope/version.py passes
  • YAML validates (yaml.safe_load)
  • After merge + tag: Actions validate/package/pypi/release jobs run
  • PyPI shows dashscope 2.1.0rc1
  • pip install dashscope==2.1.0rc1 succeeds in clean venv
  • Draft GitHub Release created with rendered template and pre-release flag

zhansheng.lzs and others added 7 commits November 11, 2026 15:27
Replace the vendored acli runtime with the published AgenticX dependency while preserving both CLI entry points, one-shot prompts, interactive routing, and default Expert configuration.
Apply the Black formatting required by the pre-commit workflow.
…erience

- Add detailed tips for missing or incompatible dashscope-agenticx imports
- Refine first interactive run prompt to offer downloading the expert profile
- Handle download failures gracefully with retry hints for the user
- Update expert CLI help text with escaped [acli] to avoid rich markup issues
- Add tests covering import tip rendering and first-run download behavior
- Ensure KeyboardInterrupt during prompt cleanly cancels the expert launch
Add .github/workflows/release.yml: v* tag → validate (main ancestor +
version match) → build + twine check → PyPI trusted publishing →
draft GitHub Release with rendered release-template.md.

Bump version to 2.1.0rc1 for pre-release pipeline verification.
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