This is an automated email from the ASF dual-hosted git repository.

urfree pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-site.git

commit 92593881f50c6c636f78cc4e4a549336b8a6dc98
Author: LiLi <[email protected]>
AuthorDate: Wed Jan 26 16:31:23 2022 +0800

    feat: just build the changed versions
    
    Signed-off-by: LiLi <[email protected]>
---
 .../workflows/ci-pulsar-website-next-build.yaml    |  8 +++++-
 site2/tools/build-site.sh                          |  2 +-
 site2/tools/docker-build-site.sh                   |  2 +-
 site2/website-next/scripts/split-version-build.sh  | 29 +++++++++++++++-------
 4 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/.github/workflows/ci-pulsar-website-next-build.yaml 
b/.github/workflows/ci-pulsar-website-next-build.yaml
index 8c44edb..8c5c1e1 100644
--- a/.github/workflows/ci-pulsar-website-next-build.yaml
+++ b/.github/workflows/ci-pulsar-website-next-build.yaml
@@ -39,6 +39,12 @@ jobs:
       - name: checkout
         uses: actions/checkout@v2
 
+      - name: List all modified files
+        run: |
+          for file in ${{ steps.changed-files.outputs.all_modified_files }}; do
+            echo "$file was modified"
+          done
+
       - name: Tune Runner VM
         uses: ./.github/actions/tune-runner-vm
 
@@ -96,7 +102,7 @@ jobs:
           echo "Copied swagger json file."
           echo "Building Website"
           # Build the new website
-          site2/tools/docker-build-site.sh next
+          site2/tools/docker-build-site.sh next ${{ 
steps.changed-files.outputs.all_modified_files }}
 
           # # Script was initially made for travis
           bash -e site2/tools/publish-website.sh next
diff --git a/site2/tools/build-site.sh b/site2/tools/build-site.sh
index 131fbf6..827af33 100755
--- a/site2/tools/build-site.sh
+++ b/site2/tools/build-site.sh
@@ -102,7 +102,7 @@ if [ -n "$NEXT" ]; then
   node scripts/split-swagger-by-version.js
   # Because there are too many versions of the document, the memory overflows 
during the full build. 
   # The split-version-build script is used to build in different versions, and 
finally the build results are merged.
-  bash scripts/split-version-build.sh
+  bash scripts/split-version-build.sh $2
 else
   # crowdin
   yarn build
diff --git a/site2/tools/docker-build-site.sh b/site2/tools/docker-build-site.sh
index 39fec80..2a7ff0b 100755
--- a/site2/tools/docker-build-site.sh
+++ b/site2/tools/docker-build-site.sh
@@ -47,4 +47,4 @@ DOCKER_CMD="docker run -i -e CI_USER=$CI_USER -e 
CI_GROUP=$CI_GROUP -v $HOME/.m2
 sed -i "s#$ROOT_DIR#/pulsar#g" 
$ROOT_DIR/distribution/server/target/classpath.txt
 sed -i "s#$HOME#/root#g" $ROOT_DIR/distribution/server/target/classpath.txt
 
-$DOCKER_CMD bash -l -c "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 && 
cd /pulsar && /pulsar/site2/tools/build-site.sh $1"
\ No newline at end of file
+$DOCKER_CMD bash -l -c "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 && 
cd /pulsar && /pulsar/site2/tools/build-site.sh $@"
\ No newline at end of file
diff --git a/site2/website-next/scripts/split-version-build.sh 
b/site2/website-next/scripts/split-version-build.sh
index d0ce8bf..8eceebd 100755
--- a/site2/website-next/scripts/split-version-build.sh
+++ b/site2/website-next/scripts/split-version-build.sh
@@ -4,17 +4,28 @@ node scripts/split-version.js
 
 latest=$(cat scripts/.latest)
 
+echo "changed files: " 
+echo $@
+
 while read version; do
-    echo $version "build begin..."
-    echo "[\"${latest}\", \"${version}\"]" >versions.json
-    yarn build
-    mkdir -p build-${version}/${version} build-${version}/${version}.md
-    cp -r build/docs/${version}/* build-${version}/${version}
-    cp -r build/docs/${version}.md/* build-${version}/${version}.md
-    echo $version "build done..."
+    if [[ $@ == *website-next/versioned_docs/version-$version* ]]
+    then
+        echo $version "has changed, begin rebuild..."
+        echo "[\"${latest}\", \"${version}\"]" >versions.json
+        yarn build
+        mkdir -p build-${version}/${version} build-${version}/${version}.md
+        cp -r build/docs/${version}/* build-${version}/${version}
+        cp -r build/docs/${version}.md/* build-${version}/${version}.md
+        echo $version "build done..."
+    else
+        echo $version "no change, skip"
+    fi
 done <scripts/.versions
 
 while read version; do
-    mv build-$version/* build/docs
-    rm -rf build-$version
+    if [[ $@ == *website-next/versioned_docs/version-$version* ]]
+    then
+        mv build-$version/* build/docs
+        rm -rf build-$version
+    fi
 done <scripts/.versions

Reply via email to