This is an automated email from the ASF dual-hosted git repository.
MartijnVisser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new 35dc0fba16f [FLINK-40803][ci] Deploy docs with rsync instead of
rsync-deployments
35dc0fba16f is described below
commit 35dc0fba16f0b501f51f722463bb385fc7e8f9ee
Author: Martijn Visser <[email protected]>
AuthorDate: Fri Sep 25 15:36:22 2026 +0200
[FLINK-40803][ci] Deploy docs with rsync instead of rsync-deployments
The ASF actions allow list dropped rsync-deployments 8.0.5 on 2026-09-17,
the third time in a year it broke the docs upload. Run rsync on the runner
instead, inline so it does not depend on files in the checked-out release
branches. The build runs as root and the upload now as the runner user, so
make docs/target world-readable first.
Generated-by: Claude Code (Claude Opus 5.5)
---
.github/workflows/docs-legacy.yml | 26 +++++++++++++---------
.github/workflows/docs.yml | 45 ++++++++++++++++++++-------------------
2 files changed, 39 insertions(+), 32 deletions(-)
diff --git a/.github/workflows/docs-legacy.yml
b/.github/workflows/docs-legacy.yml
index fd30c595f0c..bad35d663f3 100644
--- a/.github/workflows/docs-legacy.yml
+++ b/.github/workflows/docs-legacy.yml
@@ -76,20 +76,26 @@ jobs:
bash -c "./build_docs.sh"
- name: Build documentation
+ # The build runs as root, the upload below as the runner user, hence
the chmod
run: |
docker run --rm \
--volume "$PWD:/root/flink" \
--volume "$HOME/.m2/repository:/root/.m2/repository" \
apache/flink-ci-docker:java_8_11_17_21_25_maven_386_3916_noble \
- bash -c "apt-get update && apt-get install -y rsync && cd
/root/flink && ./.github/workflows/docs.sh"
+ bash -c "apt-get update && apt-get install -y rsync && cd
/root/flink && ./.github/workflows/docs.sh && chmod -R a+rX docs/target"
- name: Upload documentation
- uses:
burnett01/rsync-deployments@66257cad6bfeb2171d3b6bfa6c9a22279dd9c3a1 # 8.0.5
- with:
- switches: --archive --compress --delete --omit-dir-times
- 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 }}
+ env:
+ NIGHTLIES_RSYNC_HOST: ${{ secrets.NIGHTLIES_RSYNC_HOST }}
+ NIGHTLIES_RSYNC_KEY: ${{ secrets.NIGHTLIES_RSYNC_KEY }}
+ NIGHTLIES_RSYNC_PATH: ${{ secrets.NIGHTLIES_RSYNC_PATH }}
+ NIGHTLIES_RSYNC_PORT: ${{ secrets.NIGHTLIES_RSYNC_PORT }}
+ NIGHTLIES_RSYNC_USER: ${{ secrets.NIGHTLIES_RSYNC_USER }}
+ run: |
+ eval "$(ssh-agent -s)"
+ trap 'ssh-agent -k > /dev/null || true' EXIT
+ printf '%s\n' "${NIGHTLIES_RSYNC_KEY}" | ssh-add -
+ unset NIGHTLIES_RSYNC_KEY
+ rsync --archive --compress --delete --omit-dir-times \
+ -e "ssh -o StrictHostKeyChecking=no -p ${NIGHTLIES_RSYNC_PORT}" \
+ docs/target/
"${NIGHTLIES_RSYNC_USER}@${NIGHTLIES_RSYNC_HOST}:${NIGHTLIES_RSYNC_PATH}/flink/flink-docs-${flink_branch}/"
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index c31d354a540..2e3e2f35b91 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -66,32 +66,33 @@ jobs:
${{ runner.os }}-maven-docs-
- name: Build documentation
+ # The build runs as root, the upload below as the runner user, hence
the chmod
run: |
docker run --rm \
--volume "$PWD:/root/flink" \
--volume "$HOME/.m2/repository:/root/.m2/repository" \
apache/flink-ci-docker:java_8_11_17_21_25_maven_386_3916_noble \
- bash -c "cd /root/flink && ./.github/workflows/docs.sh"
+ bash -c "cd /root/flink && ./.github/workflows/docs.sh && chmod -R
a+rX docs/target"
- name: Upload documentation
- uses:
burnett01/rsync-deployments@66257cad6bfeb2171d3b6bfa6c9a22279dd9c3a1 # 8.0.5
- with:
- switches: --archive --compress --delete
- 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@66257cad6bfeb2171d3b6bfa6c9a22279dd9c3a1 # 8.0.5
- with:
- switches: --archive --compress --delete
- 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 }}
+ env:
+ NIGHTLIES_RSYNC_HOST: ${{ secrets.NIGHTLIES_RSYNC_HOST }}
+ NIGHTLIES_RSYNC_KEY: ${{ secrets.NIGHTLIES_RSYNC_KEY }}
+ NIGHTLIES_RSYNC_PATH: ${{ secrets.NIGHTLIES_RSYNC_PATH }}
+ NIGHTLIES_RSYNC_PORT: ${{ secrets.NIGHTLIES_RSYNC_PORT }}
+ NIGHTLIES_RSYNC_USER: ${{ secrets.NIGHTLIES_RSYNC_USER }}
+ run: |
+ eval "$(ssh-agent -s)"
+ trap 'ssh-agent -k > /dev/null || true' EXIT
+ printf '%s\n' "${NIGHTLIES_RSYNC_KEY}" | ssh-add -
+ unset NIGHTLIES_RSYNC_KEY
+ upload() {
+ echo "Uploading to flink-docs-$1"
+ rsync --archive --compress --delete \
+ -e "ssh -o StrictHostKeyChecking=no -p ${NIGHTLIES_RSYNC_PORT}" \
+ docs/target/
"${NIGHTLIES_RSYNC_USER}@${NIGHTLIES_RSYNC_HOST}:${NIGHTLIES_RSYNC_PATH}/flink/flink-docs-$1/"
+ }
+ upload "${flink_branch}"
+ if [ -n "${flink_alias}" ]; then
+ upload "${flink_alias}"
+ fi