sync-demo-next.yml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. # 当分支 next 分支有 push 事件,并且此次 push 包含了 packages/stdf 目录下的文件时触发,使用 GitHub Actions 执行
  2. name: SYNC NEXT DEMO
  3. on:
  4. push:
  5. branches:
  6. - next
  7. paths:
  8. - 'packages/stdf/**'
  9. jobs:
  10. sync:
  11. runs-on: ubuntu-latest
  12. steps:
  13. - name: Checkout
  14. uses: actions/checkout@v4
  15. # clone 仓库 github.com/any-tdf/stdf
  16. - name: Clone stdf
  17. uses: actions/checkout@v4
  18. with:
  19. repository: any-tdf/stdf
  20. token: ${{ secrets.STDF_GITHUB_TOKEN }}
  21. path: stdf
  22. # 切换到 next 分支
  23. - name: Checkout next
  24. run: |
  25. git checkout next
  26. # 读取 packages/rollup-plugin-stdf-icon 中的 package.json 文件,获取 version 的值并存储到 version 变量中
  27. - name: Read Icon version
  28. run: |
  29. version=$(cat packages/rollup-plugin-stdf-icon/package.json | grep -E '"version":' | awk -F'"' '{print $4}')
  30. echo "version: $version"
  31. echo "version=${version}" >> $GITHUB_ENV
  32. # 初始化 stdf demo 仓库
  33. # 将 stdf/LICENSE 复制到 stdf/packages/stdf/LICENSE
  34. # 将 stdf/README.md 复制到 stdf/packages/stdf/README.md
  35. # 将上一步获取的 version 字段前面增加 ^ 号,将 packages/stdf/package.json 中的 file:../rollup-plugin-stdf-icon 替换为 ^version
  36. - name: Init stdf demo
  37. run: |
  38. cp stdf/LICENSE stdf/packages/stdf/LICENSE
  39. cp stdf/README.md stdf/packages/stdf/README.md
  40. sed -i "s|file:../rollup-plugin-stdf-icon|^${version}|g" stdf/packages/stdf/package.json
  41. cd stdf/packages/stdf
  42. git init
  43. git config --global user.name 'GitHub Actions'
  44. git config --global user.email 'GitHub Actions'
  45. git add .
  46. git commit -m "Github Actions auto commit: update demo from stdf."
  47. # 将修改内容推送到 git@github.com:any-tdf/next-demo-stdf.git 的 main 分支
  48. - name: Push to next-demo-stdf
  49. uses: ad-m/github-push-action@master
  50. with:
  51. github_token: ${{ secrets.STDF_GITHUB_TOKEN }}
  52. branch: main
  53. force: true
  54. directory: stdf/packages/stdf
  55. repository: any-tdf/next-demo-stdf