generate_page.yml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 -r requirements.txt
  28. pip install .
  29. cd ..
  30. cd project
  31. pip install -r requirements.txt
  32. - name: 签出生成文件储存库
  33. uses: actions/checkout@v4
  34. with:
  35. ref: 'generated'
  36. path: 'generated'
  37. - name: 删除之前版本
  38. run: |
  39. cd generated
  40. git rm -r generated/* --ignore-unmatch
  41. git clean -f
  42. - name: 构建页面
  43. run: builder build --project ${GITHUB_WORKSPACE}/project/Project/Project.yml --output ${GITHUB_WORKSPACE}/generated/generated -a
  44. - name: 配置 GPG 信息
  45. uses: crazy-max/ghaction-import-gpg@v6
  46. with:
  47. gpg_private_key: ${{ secrets.BOT_GPG_PRIVATE_KEY }}
  48. git_user_signingkey: true
  49. git_commit_gpgsign: true
  50. workdir: generated
  51. - name: 提交与推送更改
  52. run: |
  53. cd generated
  54. git config --local user.email "[email protected]"
  55. git config --local user.name "Hilda Bot"
  56. git add *
  57. git diff-index --quiet HEAD || git commit -S -m "upload generated pages" && git push