You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by ch...@apache.org on 2022/03/16 20:50:05 UTC

[flink] branch release-1.13 updated: [FLINK-26658][docs] Migrate documentation build to Github Actions

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

chesnay pushed a commit to branch release-1.13
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/release-1.13 by this push:
     new 1145341  [FLINK-26658][docs] Migrate documentation build to Github Actions
1145341 is described below

commit 1145341e729e71357b4d142df62022cbc5381cdb
Author: Chesnay Schepler <ch...@apache.org>
AuthorDate: Mon Mar 14 11:38:14 2022 +0100

    [FLINK-26658][docs] Migrate documentation build to Github Actions
---
 .github/workflows/docs.sh  | 71 ++++++++++++++++++++++++++++++++++++++++++++++
 .github/workflows/docs.yml | 58 +++++++++++++++++++++++++++++++++++++
 tools/ci/build_docs.sh     | 38 -------------------------
 3 files changed, 129 insertions(+), 38 deletions(-)

diff --git a/.github/workflows/docs.sh b/.github/workflows/docs.sh
new file mode 100755
index 0000000..fa0fd21
--- /dev/null
+++ b/.github/workflows/docs.sh
@@ -0,0 +1,71 @@
+#!/usr/bin/env bash
+################################################################################
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################
+set -e
+
+mvn --version
+java -version
+javadoc -J-version
+
+# setup hugo
+HUGO_REPO=https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.tar.gz
+HUGO_ARTIFACT=hugo_extended_0.80.0_Linux-64bit.tar.gz
+if ! curl --fail -OL $HUGO_REPO ; then
+	echo "Failed to download Hugo binary"
+	exit 1
+fi
+tar -zxvf $HUGO_ARTIFACT
+git submodule update --init --recursive
+# generate docs into docs/target
+./hugo -v --source docs --destination target
+if [ $? -ne 0 ]; then
+	echo "Error building the docs"
+	exit 1
+fi
+
+# build Flink; required for Javadoc step
+mvn clean install -B -DskipTests -Dfast -Pskip-webui-build
+
+# build java/scala docs
+mkdir -p docs/target/api
+mvn javadoc:aggregate -B \
+    -Paggregate-scaladoc \
+    -DadditionalJOption="-Xdoclint:none --allow-script-in-comments" \
+    -Dmaven.javadoc.failOnError=false \
+    -Dcheckstyle.skip=true \
+    -Dspotless.check.skip=true \
+    -Denforcer.skip=true \
+    -Dheader="<a href=\"http://flink.apache.org/\" target=\"_top\"><h1>Back to Flink Website</h1></a> <script>var _paq=window._paq=window._paq||[];_paq.push([\"disableCookies\"]),_paq.push([\"setDomains\",[\"*.flink.apache.org\",\"*.nightlies.apache.org/flink\"]]),_paq.push([\"trackPageView\"]),_paq.push([\"enableLinkTracking\"]),function(){var u=\"//matomo.privacy.apache.org/\";_paq.push([\"setTrackerUrl\",u+\"matomo.php\"]),_paq.push([\"setSiteId\",\"1\"]);var d=document, g=d.createEle [...]
+mv target/site/apidocs docs/target/api/java
+pushd flink-scala
+mvn scala:doc -B
+mv target/site/scaladocs ../docs/target/api/scala
+popd
+
+# build python docs
+if [ -f  ./flink-python/dev/lint-python.sh ]; then
+    # Just completely ignore sudo in conda.
+    unset SUDO_UID SUDO_GID SUDO_USER
+
+    # build python docs
+    # disable the gateway, because otherwise it tries to find FLINK_HOME to access Java classes
+    PYFLINK_GATEWAY_DISABLED=1 ./flink-python/dev/lint-python.sh -i "sphinx"
+
+    # move python docs
+    mv flink-python/docs/_build/html docs/target/api/python
+fi
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
new file mode 100644
index 0000000..a271167
--- /dev/null
+++ b/.github/workflows/docs.yml
@@ -0,0 +1,58 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: "Build documentation"
+on:
+  workflow_dispatch:
+jobs:
+  build-documentation:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - name: Set branch environment variable
+        run: |
+          currentBranch=$(git branch --show-current)
+
+          echo "flink_branch=${currentBranch}" >> ${GITHUB_ENV}
+
+          if [ "${currentBranch}" = "master" ]; then
+            echo "flink_alias=release-1.16" >> ${GITHUB_ENV}
+          elif [ "${currentBranch}" = "release-1.14" ]; then
+            echo "flink_alias=stable" >> ${GITHUB_ENV}
+          fi
+      - name: Build documentation
+        run: |
+          docker run  --rm --volume "$PWD:/root/flink" chesnay/flink-ci:java_8_11 bash -c "cd /root/flink && ./.github/workflows/docs.sh"
+      - name: Upload documentation
+        uses: burnett01/rsync-deployments@5.2
+        with:
+          switches: --archive --compress
+          path: docs/target/
+          remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/flink/flink-docs-${{ env.flink_branch }}/
+          remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }}
+          remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }}
+          remote_user: ${{ secrets.NIGHTLIES_RSYNC_USER }}
+          remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }}
+      - name: Upload documentation alias
+        if: env.flink_alias != ''
+        uses: burnett01/rsync-deployments@5.2
+        with:
+          switches: --archive --compress
+          path: docs/target/
+          remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/flink/flink-docs-${{ env.flink_alias }}/
+          remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }}
+          remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }}
+          remote_user: ${{ secrets.NIGHTLIES_RSYNC_USER }}
+          remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }}
diff --git a/tools/ci/build_docs.sh b/tools/ci/build_docs.sh
deleted file mode 100755
index 165d99f..0000000
--- a/tools/ci/build_docs.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env bash
-################################################################################
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-# limitations under the License.
-################################################################################
-
-HUGO_REPO=https://github.com/gohugoio/hugo/releases/download/v0.80.0/hugo_extended_0.80.0_Linux-64bit.tar.gz
-HUGO_ARTIFACT=hugo_extended_0.80.0_Linux-64bit.tar.gz
-
-if ! curl --fail -OL $HUGO_REPO ; then 
-	echo "Failed to download Hugo binary"
-	exit 1
-fi
-
-tar -zxvf $HUGO_ARTIFACT
-
-git submodule update --init --recursive
-# generate docs into docs/target
-./hugo -v --source docs --destination target
-
-if [ $? -ne 0 ]; then
-	echo "Error building the docs"
-	exit 1
-fi
-