Преглед изворни кода

chore(ci): support multiple versions of documents (#2238)

Signed-off-by: Swilder-M <poxiaobbs@gmail.com>
Ming пре 1 година
родитељ
комит
c5167e8d62
2 измењених фајлова са 18 додато и 3 уклоњено
  1. 6 0
      .github/scripts/generate_version.py
  2. 12 3
      .github/workflows/deploy_docs.yaml

+ 6 - 0
.github/scripts/generate_version.py

@@ -2,8 +2,14 @@ import sys
 import json
 
 version_list = sys.argv[1:]
+if len(version_list) == 1:
+    version_list = version_list[0].split(' ')
+
 
 if __name__ == '__main__':
+    version_list = ['.'.join(version.split('.')[:2]) for version in version_list]
+    version_list = [version for version in version_list if int(version.split('.')[0]) >= 1 and int(version.split('.')[1]) >= 11]
+    version_list = list(set(version_list))
     version_list.sort(
         key=lambda v: [int(u) for u in v.split('.')],
         reverse=True

+ 12 - 3
.github/workflows/deploy_docs.yaml

@@ -6,6 +6,8 @@ concurrency:
 
 on:
   push:
+    tags:
+      - '*.*.*'
     branches:
       - master
     paths:
@@ -44,9 +46,10 @@ jobs:
       run: |
          BRANCH=$(echo ${{ github.ref }} | sed -r  "s ^refs/heads/|^refs/tags/(.*) \1 g")
          if [ "$BRANCH" = "master" ];then
-         VERSION="latest"
+           VERSION="latest"
          else
-         VERSION=v$BRANCH
+           VERSION=$(echo $BRANCH | sed -E 's/([^.]+\.[^.]+).*/\1/')
+           VERSION="v$VERSION"
          fi
          echo "DOCS_BRANCH=$BRANCH" >> $GITHUB_ENV
          echo "VERSION=$VERSION" >> $GITHUB_ENV
@@ -69,7 +72,13 @@ jobs:
         cp -r docs-files/docs/en_US/* frontend/docs/en/${VERSION}/
         cp -r docs-files/docs/zh_CN/* frontend/docs/zh/${VERSION}/
         cp docs-files/docs/directory.json frontend/docs/.vuepress/config/directory.json
-        echo "[\"latest\"]" > frontend/docs/.vuepress/public/api/${DOCS_TYPE}_versions.json
+
+    - name: generate version config
+      run: |
+        cd docs-files
+        version_list=$(git tag | xargs echo -n)
+        python3 .github/scripts/generate_version.py $version_list > ../frontend/docs/.vuepress/public/api/${DOCS_TYPE}_versions.json
+        cat ../frontend/docs/.vuepress/public/api/${DOCS_TYPE}_versions.json
 
     - name: build docs
       run: |