6 Commits

Author SHA1 Message Date
zhou 5eb59b8a66 bump version to 0.3.4
CI / Lint, Typecheck & Test (push) Successful in 1m8s
Release / Build, Publish & Release (push) Failing after 30s
2026-07-04 11:24:11 +08:00
zhou 8e7b866de2 更新 .github/workflows/release.yml
CI / Lint, Typecheck & Test (push) Has been cancelled
2026-07-04 03:23:16 +00:00
zhou 1b4f9bfa6a bump version to 0.3.3
CI / Lint, Typecheck & Test (push) Successful in 1m8s
Release / Build, Publish & Release (push) Has been cancelled
2026-07-04 11:16:31 +08:00
zhou 2d39272330 ci(github workflows): update pypi api token secret name
将PyPI发布步骤中的密钥变量名从PYPI_API_TOKEN改为PYPI_TOKEN,保持配置一致性
2026-07-04 11:16:24 +08:00
zhou f699bb9167 chore: 升级pyflowx版本到0.3.2
CI / Lint, Typecheck & Test (push) Successful in 1m19s
2026-07-04 10:50:50 +08:00
zhou 35f07e96e1 ci: 更新CI和release工作流配置
CI / Lint, Typecheck & Test (push) Failing after 1m18s
1. 将CI容器镜像从固定版本改为latest
2. 简化PyPI发布步骤,改用uv publish命令
3. 重构Gitea发布脚本,优化release创建和资产上传流程
2026-07-04 10:45:35 +08:00
6 changed files with 37 additions and 22 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
name: Lint, Typecheck & Test
runs-on: ubuntu-latest
container:
image: pyflowx-ci:1.0.0
image: pyflowx-ci:latest
env:
UV_LINK_MODE: copy
# ---- 国内源 ----
+27 -17
View File
@@ -25,24 +25,34 @@ jobs:
- name: Build distributions
run: uv build
- name: Publish to PyPI
uses: http://gitea:3000/zhou/gh-action-pypi-publish.git@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
- name: Create Gitea Release
- name: Publish to pypi
run: uv publish --token '${{ secrets.PYPI_TOKEN }}'
- name: Create Gitea Release & Upload Assets
env:
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG_NAME: ${{ github.ref_name }}
REPO: ${{ github.repository }}
GITEA_URL: http://10.0.16.16:3000
run: |
VERSION=${GITHUB_REF#refs/tags/v}
REPO=${GITHUB_REPOSITORY}
UPLOAD_URL=$(curl -s -X POST "https://git.gookeryoung.cn/api/v1/repos/${REPO}/releases" \
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
set -e
# 1. 创建 Release
RELEASE_ID=$(curl -sS -X POST "$GITEA_URL/api/v1/repos/$REPO/releases" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"tag_name\": \"v${VERSION}\", \"name\": \"v${VERSION}\", \"draft\": false, \"prerelease\": false}" \
| jq -r '.upload_url')
for file in dist/*; do
curl -s -X POST "${UPLOAD_URL}?name=$(basename $file)" \
-H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \
-d "{\"tag_name\":\"$TAG_NAME\",\"name\":\"Release $TAG_NAME\",\"body\":\"Automated release from CI\",\"draft\":false,\"prerelease\":false}" \
| python3 -c "import sys,json;print(json.load(sys.stdin)['id'])")
echo "Created release id=$RELEASE_ID"
# 2. 上传 dist/ 下所有文件作为附件
for f in dist/*; do
echo "Uploading $f ..."
curl -sS -X POST "$GITEA_URL/api/v1/repos/$REPO/releases/$RELEASE_ID/assets?name=$(basename $f)" \
-H "Authorization: token $GITEA_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @"$file"
--data-binary "@$f"
done
+1 -1
View File
@@ -21,7 +21,7 @@ license = { text = "MIT" }
name = "pyflowx"
readme = "README.md"
requires-python = ">=3.8"
version = "0.3.1"
version = "0.3.4"
[project.scripts]
autofmt = "pyflowx.cli.autofmt:main"
+1 -1
View File
@@ -100,7 +100,7 @@ from .task import (
task_template,
)
__version__ = "0.4.1"
__version__ = "0.4.4"
__all__ = [
"IS_LINUX",
+6 -1
View File
@@ -561,7 +561,12 @@ class TestCliRunnerIntegration:
runner = px.CliRunner(aliases={"diamond": graph})
exit_code = runner.run(["diamond"])
assert exit_code == CliExitCode.SUCCESS.value
assert order == ["a", "b", "c", "d"]
# dependency 策略并发调度独立任务,b 与 c 的相对顺序非确定;
# 仅校验拓扑约束:a 最先、d 最后、b/c 介于其间。
assert set(order) == {"a", "b", "c", "d"}
assert order[0] == "a"
assert order[-1] == "d"
assert set(order[1:3]) == {"b", "c"}
def test_mixed_fn_and_cmd_commands(self) -> None:
"""混合 fn 和 cmd 的命令应都能执行."""
Generated
+1 -1
View File
@@ -2736,7 +2736,7 @@ wheels = [
[[package]]
name = "pyflowx"
version = "0.3.0"
version = "0.3.2"
source = { editable = "." }
dependencies = [
{ name = "graphlib-backport", marker = "python_full_version < '3.9'" },