docs.yml 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. name: Generate Docs
  2. permissions:
  3. contents: write
  4. on:
  5. push:
  6. branches:
  7. - master
  8. paths:
  9. - 'builddefs/docsgen/**'
  10. - 'tmk_core/**'
  11. - 'quantum/**'
  12. - 'platforms/**'
  13. - 'docs/**'
  14. - '.github/workflows/docs.yml'
  15. pull_request:
  16. paths:
  17. - 'builddefs/docsgen/**'
  18. - 'docs/**'
  19. - '.github/workflows/docs.yml'
  20. defaults:
  21. run:
  22. shell: bash
  23. jobs:
  24. generate:
  25. runs-on: ubuntu-latest
  26. container: ghcr.io/qmk/qmk_cli
  27. steps:
  28. - uses: actions/checkout@v4
  29. with:
  30. fetch-depth: 1
  31. - name: Install dependencies
  32. run: |
  33. pip3 install -r requirements-dev.txt
  34. apt-get update && apt-get install -y rsync doxygen
  35. # install nvm
  36. touch $HOME/.bashrc
  37. wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
  38. - name: Install node
  39. run: |
  40. source $HOME/.bashrc
  41. nvm install 20
  42. nvm use 20
  43. corepack enable
  44. - name: Build docs
  45. run: |
  46. source $HOME/.bashrc
  47. nvm use 20
  48. qmk --verbose generate-docs
  49. - name: Deploy
  50. if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
  51. uses: JamesIves/github-pages-deploy-action@v4.6.9
  52. with:
  53. token: ${{ secrets.GITHUB_TOKEN }}
  54. branch: gh-pages
  55. folder: .build/docs
  56. git-config-name: QMK Bot
  57. git-config-email: hello@qmk.fm