# 当分支 main 分支有 push 事件,并且此次 push 包含了 packages/stdf 目录下的文件时触发,使用 GitHub Actions 执行 name: SYNC DEMO on: push: branches: - main paths: - 'packages/stdf/**' jobs: sync: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 # clone 仓库 github.com/any-tdf/stdf - name: Clone stdf uses: actions/checkout@v4 with: repository: any-tdf/stdf token: ${{ secrets.STDF_GITHUB_TOKEN }} path: stdf # 读取 packages/rollup-plugin-stdf-icon 中的 package.json 文件,获取 version 的值并存储到 version 变量中 - name: Read Icon version run: | version=$(cat packages/rollup-plugin-stdf-icon/package.json | grep -E '"version":' | awk -F'"' '{print $4}') echo "version: $version" echo "version=${version}" >> $GITHUB_ENV # 初始化 stdf demo 仓库 # 将 stdf/LICENSE 复制到 stdf/packages/stdf/LICENSE # 将 stdf/README.md 复制到 stdf/packages/stdf/README.md # 将上一步获取的 version 字段前面增加 ^ 号,将 packages/stdf/package.json 中的 file:../rollup-plugin-stdf-icon 替换为 ^version - name: Init stdf demo run: | cp stdf/LICENSE stdf/packages/stdf/LICENSE cp stdf/README.md stdf/packages/stdf/README.md sed -i "s|file:../rollup-plugin-stdf-icon|^${version}|g" stdf/packages/stdf/package.json cd stdf/packages/stdf git init git config --global user.name 'GitHub Actions' git config --global user.email 'GitHub Actions' git add . git commit -m "Github Actions auto commit: update demo from stdf." # 将修改内容推送到 git@github.com:any-tdf/demo-stdf.git 的 main 分支 - name: Push to demo-stdf uses: ad-m/github-push-action@master with: github_token: ${{ secrets.STDF_GITHUB_TOKEN }} branch: main force: true directory: stdf/packages/stdf repository: any-tdf/demo-stdf