|
1 | | -# .github/workflows/release-beta.yml |
2 | 1 | name: Release - Beta |
3 | 2 |
|
4 | 3 | on: |
@@ -30,45 +29,48 @@ jobs: |
30 | 29 | uses: actions/setup-node@v4 |
31 | 30 | with: |
32 | 31 | node-version: 20 |
33 | | - cache: "pnpm" |
| 32 | + cache: 'pnpm' |
34 | 33 |
|
35 | 34 | - name: Install deps |
36 | 35 | run: pnpm install --frozen-lockfile |
37 | 36 |
|
38 | | - # 👇 自动检测当前 PR 修改的子包路径 |
| 37 | + # 👇 自动检测当前 PR 修改的子包完整路径(适配多层目录) |
39 | 38 | - name: Detect changed package |
40 | 39 | id: detect |
41 | 40 | run: | |
42 | 41 | echo "Detecting changed package..." |
43 | | - CHANGED=$(git diff --name-only origin/main | grep "packages/" | cut -d/ -f2 | sort | uniq | head -n 1) |
44 | | - echo "package=$CHANGED" >> $GITHUB_OUTPUT |
45 | | - echo "Detected package: $CHANGED" |
| 42 | + CHANGED=$(git diff --name-only origin/main | grep "packages/" | grep "package.json" | head -n 1 | xargs dirname) |
| 43 | + echo "package_path=$CHANGED" >> $GITHUB_OUTPUT |
| 44 | + echo "Detected package path: $CHANGED" |
46 | 45 |
|
47 | | - # 👇 生成 beta 版本号 |
| 46 | + # 👇 生成 beta 版本号(自动注入路径) |
48 | 47 | - name: Modify package.json version |
49 | | - run: node .github/version-script-beta.js ${{ steps.detect.outputs.package }} |
| 48 | + run: node .github/version-script-beta.js ${{ steps.detect.outputs.package_path }} |
50 | 49 |
|
51 | 50 | # 👇 登录 npm |
52 | 51 | - name: Authenticate to npm |
53 | | - run: echo "//registry.npmjs.org/:_authToken=$NPM_ACCESS_TOKEN" >> packages/${{ steps.detect.outputs.package }}/.npmrc |
| 52 | + run: echo "//registry.npmjs.org/:_authToken=$NPM_ACCESS_TOKEN" >> ${{ steps.detect.outputs.package_path }}/.npmrc |
54 | 53 | env: |
55 | 54 | NPM_ACCESS_TOKEN: ${{ secrets.NPM_TOKEN }} |
56 | 55 |
|
57 | 56 | # 👇 发布 beta 包 |
58 | 57 | - name: Publish Beta to npm |
59 | | - run: pnpm --filter "./packages/${{ steps.detect.outputs.package }}" publish --tag beta --access public |
| 58 | + run: pnpm --filter "./${{ steps.detect.outputs.package_path }}" publish --tag beta --access public |
60 | 59 |
|
61 | 60 | # 👇 获取新版本号 |
62 | 61 | - name: Get new package version |
63 | 62 | id: pkg-version |
64 | 63 | run: | |
65 | | - PKG_JSON="packages/${{ steps.detect.outputs.package }}/package.json" |
| 64 | + PKG_JSON="${{ steps.detect.outputs.package_path }}/package.json" |
66 | 65 | VERSION=$(jq -r .version "$PKG_JSON") |
| 66 | + PKG_NAME=$(jq -r .name "$PKG_JSON") |
67 | 67 | echo "version=$VERSION" >> $GITHUB_OUTPUT |
| 68 | + echo "pkg_name=$PKG_NAME" >> $GITHUB_OUTPUT |
| 69 | + echo "Detected package: $PKG_NAME@$VERSION" |
68 | 70 |
|
69 | | - # 👇 上传 artifact,用于后续 comment workflow |
| 71 | + # 👇 上传 artifact,供 comment workflow 使用 |
70 | 72 | - name: Upload packaged artifact |
71 | 73 | uses: actions/upload-artifact@v4 |
72 | 74 | with: |
73 | | - name: npm-package-${{ steps.detect.outputs.package }}@${{ steps.pkg-version.outputs.version }}-pr-${{ github.event.number }} |
74 | | - path: packages/${{ steps.detect.outputs.package }}/dist |
| 75 | + name: npm-package-${{ steps.pkg-version.outputs.pkg_name }}@${{ steps.pkg-version.outputs.version }}-pr-${{ github.event.number }} |
| 76 | + path: ${{ steps.detect.outputs.package_path }}/dist |
0 commit comments