name: Plugin Library CI on: push: branches: [master, main] workflow_dispatch: # 支持手动触发 env: SERVER_HOST: ${{ secrets.SERVER_HOST }} AuthToken: ${{ secrets.AUTH_TOKEN }} jobs: # 定义所有模块矩阵 publish: runs-on: dev # 对应你的 GitLab runner tag container: image: node:18-alpine strategy: fail-fast: false matrix: module: - 00.StaryEvo - 00.StaryEvoTools - 00.BuildOriginality - 00.ARMazTools - 01.HybridCLR - 02.InformationSave - 03.YooAsset - 04.AudioCore - 05.TableTextConversion - 06.UIFarme - 07.RKTools - 08.UniTask - 09.CodeChecker - 10.StoryEditor - 10.XNode - 11.PointCloudTools steps: #- name: Install Git # run: | # apk add --no-cache git # git --version # 验证 - name: Checkout uses: http://106.52.62.106:3000/unity-registry/checkout@v4 - name: Setup Node.js run: | ln -sf /srv/18-alpine/bin/node /usr/bin/node ln -sf /srv/18-alpine/bin/npm /usr/bin/npm node -v - name: Publish ${{ matrix.module }} working-directory: Assets/${{ matrix.module }} run: | echo "开始发布 ${{ matrix.module }}" # 获取当前版本 CURRENT_VERSION=$(node -p "require('./package.json').version") echo "当前版本: $CURRENT_VERSION" # 配置 npm registry echo "registry=http://${SERVER_HOST}/npm" > .npmrc echo "//${SERVER_HOST}/:_authToken=${AuthToken}" >> .npmrc # 发布 npm publish || echo "发布失败,继续执行" echo "${{ matrix.module }} 构建完成" - name: Complete if: always() run: echo "====== ${{ matrix.module }} 发布完成 ========="