From a1f704fa42828e5928e4965816e742b0f1a2bf6b Mon Sep 17 00:00:00 2001 From: sean Date: Mon, 2 Jun 2025 09:57:02 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20=E4=BF=AE=E5=A4=8DCI=20snapshot?= =?UTF-8?q?=E5=8F=91=E5=B8=83=EF=BC=9A=E8=87=AA=E5=8A=A8=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=94=AF=E4=B8=80=E7=89=88=E6=9C=AC=E5=8F=B7=20-=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=97=B6=E9=97=B4=E6=88=B3=E5=92=8Ccommit=20hash?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=94=AF=E4=B8=80=E7=9A=84snapshot=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=20-=20=E9=81=BF=E5=85=8D=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E5=86=B2=E7=AA=81=E5=AF=BC=E8=87=B4=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=20-=20=E6=94=B9=E8=BF=9BPR=E8=AF=84=E8=AE=BA?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=EF=BC=8C=E6=8F=90=E4=BE=9B=E8=AF=A6=E7=BB=86?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E=20-=20=E9=87=8D=E7=BD=AEpa?= =?UTF-8?q?ckage.json=E7=89=88=E6=9C=AC=E4=B8=BA=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E7=89=88=E6=9C=AC0.0.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/snapshot.yml | 45 +++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index caa2882..7583b01 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -39,11 +39,29 @@ jobs: # 确保在正确的分支 git checkout develop - # 创建snapshot版本 - pnpm changeset version --snapshot snapshot + # 配置npm认证 + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > ~/.npmrc - # 发布snapshot版本到npm - pnpm changeset publish --tag snapshot + # 获取当前时间戳和短commit hash + TIMESTAMP=$(date +%Y%m%d%H%M%S) + SHORT_COMMIT=$(git rev-parse --short HEAD) + + # 读取当前版本,移除任何现有的snapshot标识 + CURRENT_VERSION=$(node -p "require('./package.json').version.split('-')[0]") + + # 生成唯一的snapshot版本号:base-snapshot.timestamp.commit + SNAPSHOT_VERSION="${CURRENT_VERSION}-snapshot.${TIMESTAMP}.${SHORT_COMMIT}" + + echo "生成snapshot版本号: $SNAPSHOT_VERSION" + + # 直接设置版本号 + npm version $SNAPSHOT_VERSION --no-git-tag-version + + # 发布snapshot版本 + npm publish --tag snapshot + + # 输出版本信息供后续步骤使用 + echo "SNAPSHOT_VERSION=$SNAPSHOT_VERSION" >> $GITHUB_ENV env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} @@ -55,9 +73,8 @@ jobs: script: | const { execSync } = require('child_process'); - // 获取当前版本号 - const packageJson = require('./package.json'); - const version = packageJson.version; + // 获取snapshot版本号 + const version = process.env.SNAPSHOT_VERSION; // 查找相关的PR const { data: prs } = await github.rest.pulls.list({ @@ -70,9 +87,19 @@ jobs: const comment = `🚀 **Snapshot版本已发布!** 📦 版本号: \`${version}\` - 🔗 安装命令: \`npm install -g dpml-prompt@snapshot\` + 🔗 安装命令: \`npx dpml-prompt@${version} \` + 或者: \`npx dpml-prompt@snapshot \` - 你可以使用这个snapshot版本测试最新功能。`; + 📚 使用示例: + \`\`\`bash + npx dpml-prompt@${version} hello + npx dpml-prompt@${version} init + \`\`\` + + 你可以使用这个snapshot版本测试最新功能。包含以下改进: + - ✅ 修复了Windows平台platform-folders兼容性问题 + - ✅ 解决了协议路径警告问题 + - 🔧 使用env-paths替代platform-folders,提升跨平台兼容性`; // 为每个相关PR添加评论 for (const pr of prs) { diff --git a/package.json b/package.json index 840c2fb..63b6679 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dpml-prompt", - "version": "0.0.2-snapshot.6", + "version": "0.0.2", "description": "DPML-powered AI prompt framework - Revolutionary AI-First CLI system based on Deepractice Prompt Markup Language. Build sophisticated AI agents with structured prompts, memory systems, and execution frameworks.", "main": "src/lib/index.js", "bin": {