ci: 更新CI和release工作流配置
CI / Lint, Typecheck & Test (push) Failing after 1m18s

1. 将CI容器镜像从固定版本改为latest
2. 简化PyPI发布步骤,改用uv publish命令
3. 重构Gitea发布脚本,优化release创建和资产上传流程
This commit is contained in:
2026-07-04 10:45:35 +08:00
parent 1f274fe828
commit 35f07e96e1
2 changed files with 28 additions and 18 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_API_TOKEN }}'
- name: Create Gitea Release & Upload Assets
env:
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TAG_NAME: ${{ github.ref_name }}
REPO: ${{ github.repository }}
GITEA_URL: http://gitea: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