generate_page.yml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. name: Generate Pages
  2. on:
  3. workflow_dispatch:
  4. push:
  5. branches:
  6. - main
  7. jobs:
  8. generate:
  9. runs-on: ubuntu-latest
  10. steps:
  11. - name: 签出工程储存库
  12. uses: actions/checkout@v4
  13. with:
  14. path: 'project'
  15. - name: 配置 Python 环境
  16. uses: actions/setup-python@v4
  17. with:
  18. python-version: 3.11
  19. - name: 签出 PageBuilder 储存库
  20. uses: actions/checkout@v4
  21. with:
  22. repository: 'Light-Beacon/HomepageBuilder'
  23. path: 'builder'
  24. - name: 创建 Pagebuilder 环境
  25. run: |
  26. cd builder
  27. pip install .
  28. cd ..
  29. cd project
  30. pip install -r requirements.txt
  31. - name: 签出生成文件储存库
  32. uses: actions/checkout@v4
  33. with:
  34. ref: 'generated'
  35. path: 'generated'
  36. - name: 删除之前版本
  37. run: |
  38. cd generated
  39. git rm -r generated/* --ignore-unmatch
  40. git clean -f
  41. - name: 构建页面
  42. run: builder build --project ${GITHUB_WORKSPACE}/project/Project/Project.yml --output ${GITHUB_WORKSPACE}/generated/generated -a
  43. - name: 配置 GPG 信息
  44. uses: crazy-max/ghaction-import-gpg@v6
  45. with:
  46. gpg_private_key: ${{ secrets.BOT_GPG_PRIVATE_KEY }}
  47. git_user_signingkey: true
  48. git_commit_gpgsign: true
  49. workdir: generated
  50. - name: 提交与推送更改
  51. run: |
  52. cd generated
  53. git config --local user.email "[email protected]"
  54. git config --local user.name "Hilda Bot"
  55. git add *
  56. git diff-index --quiet HEAD || git commit -S -m "upload generated pages" && git push