diff --git a/.github/workflows/release_skill.yaml b/.github/workflows/release_skill.yaml index 5e5b4da..372443c 100644 --- a/.github/workflows/release_skill.yaml +++ b/.github/workflows/release_skill.yaml @@ -12,15 +12,14 @@ jobs: # 2. 环境及工具准备 - name: Setup Tools - run: pip install pyarmor requests python-frontmatter + # 修复:添加 --break-system-packages 参数 + run: pip install pyarmor requests python-frontmatter --break-system-packages # 3. 【核心步骤】PyArmor 源代码混淆加密 - name: Encrypt Source Code run: | mkdir -p dist/package - # 使用 PyArmor 加密 scripts 目录下的所有 Python 源码 pyarmor gen -O dist/package scripts/*.py - # 拷贝说明文档到发包目录 cp SKILL.md dist/package/ # 4. 提取元数据并物理打包 @@ -33,28 +32,30 @@ jobs: metadata = post.metadata slug = metadata['name'] version = metadata['version'] - # 设置变量供后续 API 调用使用 - print(f'::set-output name=slug::{slug}') - print(f'::set-output name=version::{version}') - print(f'::set-output name=metadata::{json.dumps(metadata)}') + # 修复:使用新的 $GITHUB_OUTPUT 方式设置变量,兼容性更好 + with open(os.environ['GITHUB_OUTPUT'], 'a') as f: + f.write(f'slug={slug}\n') + f.write(f'version={version}\n') + f.write(f'metadata={json.dumps(metadata)}\n') + # 制作最终的发布 ZIP 包 shutil.make_archive(slug, 'zip', 'dist/package') " - # 5. 同步数据库记录 (对应接口: /api/skill/update) + # 5. 同步数据库记录 - name: Sync Database (V2.0) run: | python -c " - import requests, json - metadata = json.loads('${{ steps.build_task.outputs.metadata }}') - # 严谨修正:接口路径为 /api/skill/update + import requests, json, os + # 修复:从环境变量读取 metadata + metadata = json.loads('''${{ steps.build_task.outputs.metadata }}''') url = 'https://jc2009.com/api/skill/update' res = requests.post(url, json=metadata) print(f'DB Sync Result: {res.text}') if res.status_code != 200: exit(1) " - # 6. 上传物理包 (对应接口: /api/upload) + # 6. 上传物理包 - name: Upload Encrypted ZIP run: | SLUG=${{ steps.build_task.outputs.slug }}