gh-pages.yaml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. name: Publish Documentation
  2. on:
  3. workflow_dispatch:
  4. pull_request:
  5. branches: [ develop ]
  6. paths:
  7. - '.github/workflows/gh-pages.yaml'
  8. - 'CMSIS/Utilities/check_links.sh'
  9. - 'CMSIS/DoxyGen/**'
  10. push:
  11. branches: [ develop ]
  12. paths:
  13. - '.github/workflows/gh-pages.yaml'
  14. - 'CMSIS/Utilities/check_links.sh'
  15. - 'CMSIS/DoxyGen/**'
  16. jobs:
  17. docs:
  18. name: Build develop documentation
  19. runs-on: ubuntu-20.04
  20. steps:
  21. - uses: actions/checkout@v2
  22. - uses: actions/setup-node@v1
  23. - name: Install Doxygen 1.8.6
  24. run: |
  25. wget http://archive.ubuntu.com/ubuntu/pool/main/d/doxygen/doxygen_1.8.6-2_amd64.deb
  26. sudo dpkg -i doxygen_1.8.6-2_amd64.deb
  27. - name: Install mscgen 0.20
  28. run: |
  29. sudo apt-get update
  30. sudo apt-get install --no-install-recommends -y mscgen=0.20-12
  31. - name: Install linkchecker
  32. run: |
  33. sudo pip install LinkChecker
  34. - name: Generate doxygen
  35. run: CMSIS/DoxyGen/gen_doc.sh
  36. - name: Run linkchecker
  37. run: |
  38. echo "::add-matcher::.github/linkchecker.json"
  39. CMSIS/Utilities/check_links.sh CMSIS/Documentation/index.html
  40. - name: Upload documentation
  41. if: ${{ github.event_name == 'pull_request' }}
  42. uses: actions/upload-artifact@v2
  43. with:
  44. path: CMSIS/Documentation/**
  45. - name: Archive documentation
  46. if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
  47. run: |
  48. cd CMSIS/Documentation
  49. tar -cvjf /tmp/doc.tbz2 .
  50. - uses: actions/checkout@v2
  51. if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
  52. with:
  53. ref: gh-pages
  54. - name: Publish documentation
  55. if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
  56. run: |
  57. rm -r develop
  58. mkdir develop
  59. cd develop
  60. tar -xvjf /tmp/doc.tbz2
  61. git config user.name github-actions
  62. git config user.email github-actions@github.com
  63. git add .
  64. git commit -m "Update develop documentation"
  65. git push