deploy_docs.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. name: Deploy Docs
  2. concurrency:
  3. group: ${{ github.ref }}
  4. cancel-in-progress: true
  5. on:
  6. push:
  7. branches:
  8. - master
  9. paths:
  10. - 'docs/**'
  11. jobs:
  12. deploy:
  13. runs-on: ubuntu-20.04
  14. if: github.repository_owner == 'lf-edge'
  15. steps:
  16. - name: clone docs
  17. uses: actions/checkout@v3
  18. with:
  19. fetch-depth: 0
  20. path: docs-files
  21. - name: clone frontend
  22. uses: actions/checkout@v3
  23. with:
  24. repository: 'emqx/emqx-io-docs-frontend'
  25. token: ${{ secrets.CI_GIT_TOKEN }}
  26. path: frontend
  27. - name: use node.js
  28. uses: actions/setup-node@v1
  29. with:
  30. node-version: 14.15
  31. - name: use python
  32. uses: actions/setup-python@v4
  33. with:
  34. python-version: '3.8'
  35. architecture: 'x64'
  36. - name: set env
  37. run: |
  38. BRANCH=$(echo ${{ github.ref }} | sed -r "s ^refs/heads/|^refs/tags/(.*) \1 g")
  39. if [ "$BRANCH" = "master" ];then
  40. VERSION="latest"
  41. else
  42. VERSION=v$BRANCH
  43. fi
  44. echo "DOCS_BRANCH=$BRANCH" >> $GITHUB_ENV
  45. echo "VERSION=$VERSION" >> $GITHUB_ENV
  46. echo "DOCS_TYPE=ekuiper" >> $GITHUB_ENV
  47. - name: remove unused files
  48. run: |
  49. cd docs-files
  50. python3 .github/scripts/remove_unused.py $(pwd)/docs
  51. - name: move files
  52. run: |
  53. rm frontend/docs/en/README.md || true
  54. rm frontend/docs/zh/README.md || true
  55. rm frontend/docs/*.md || true
  56. rm frontend/README.md
  57. mkdir -p frontend/docs/en/${VERSION}/
  58. mkdir -p frontend/docs/zh/${VERSION}/
  59. mkdir -p frontend/docs/.vuepress/public/api/
  60. cp -r docs-files/docs/en_US/* frontend/docs/en/${VERSION}/
  61. cp -r docs-files/docs/zh_CN/* frontend/docs/zh/${VERSION}/
  62. cp docs-files/docs/directory.json frontend/docs/.vuepress/config/directory.json
  63. echo "[\"latest\"]" > frontend/docs/.vuepress/public/api/${DOCS_TYPE}_versions.json
  64. - name: build docs
  65. run: |
  66. cd frontend
  67. yarn && yarn build
  68. - name: upload dist
  69. run: |
  70. cd frontend/docs/.vuepress/
  71. pip3 install coscmd
  72. coscmd config -a ${{ secrets.TENCENT_COS_ID }} -s ${{ secrets.TENCENT_COS_KEY }} -b ekuiper-org-1302406139 -r ap-hongkong
  73. coscmd delete -r -f docs/en/${VERSION} || true
  74. coscmd delete -r -f docs/zh/${VERSION} || true
  75. coscmd config -a ${{ secrets.TENCENT_COS_ID }} -s ${{ secrets.TENCENT_COS_KEY }} -b ekuiper-org-1302406139 -e cos.accelerate.myqcloud.com
  76. coscmd upload -r dist/ /docs/
  77. - name: refresh cdn cache
  78. run: |
  79. pip3 install tccli
  80. tccli configure set secretId ${{ secrets.TENCENT_COS_ID }}
  81. tccli configure set secretKey ${{ secrets.TENCENT_COS_KEY }}
  82. tccli configure set region ap-hongkong
  83. tccli cdn PurgePathCache --Paths '["https://ekuiper.org/docs/", "https://ekuiper-docs.emqx.net/"]' --FlushType delete
  84. - name: update search index
  85. uses: Swilder-M/docsearch-scraper-simple@v4
  86. env:
  87. APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
  88. API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
  89. with:
  90. docs_type: ${{ env.DOCS_TYPE }}
  91. docs_version: ${{ env.VERSION }}