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

lvyanquan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-cdc.git


The following commit(s) were added to refs/heads/master by this push:
     new 24ab54868 [FLINK-39573][cdc][docs] Fix Build documentation CI 
startup_failure by replacing third-party rsync action (#4385)
24ab54868 is described below

commit 24ab54868d6915cd93fca81957d71bd6c2665cf1
Author: yuanoOo <[email protected]>
AuthorDate: Sun May 3 17:13:21 2026 +0800

    [FLINK-39573][cdc][docs] Fix Build documentation CI startup_failure by 
replacing third-party rsync action (#4385)
    
    The Build documentation workflow has been failing with startup_failure
    since April 18, 2026 because burnett01/rsync-deployments is not allowed
    by the Apache Infra actions policy.
    
    Replace the third-party action with a local composite action that uses
    native rsync and ssh-agent, following the same approach used in
    FLINK-38448 for flink-kubernetes-operator. This eliminates the
    dependency on third-party actions entirely and avoids future breakage
    from allowed list changes or version expirations.
    
    Note: After merging, this action needs to be backported to release-3.5
    and release-3.6 branches as well, since the workflow checks out those
    branches and requires the local action to be present.
---
 .github/actions/rsync-deployments/LICENSE    | 22 +++++++++
 .github/actions/rsync-deployments/action.yml | 68 ++++++++++++++++++++++++++++
 .github/workflows/build_docs.yml             |  4 +-
 3 files changed, 92 insertions(+), 2 deletions(-)

diff --git a/.github/actions/rsync-deployments/LICENSE 
b/.github/actions/rsync-deployments/LICENSE
new file mode 100644
index 000000000..76a8f721b
--- /dev/null
+++ b/.github/actions/rsync-deployments/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2019-2022 Contention
+Copyright (c) 2019-2026 Burnett01
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/.github/actions/rsync-deployments/action.yml 
b/.github/actions/rsync-deployments/action.yml
new file mode 100644
index 000000000..6a5985a6c
--- /dev/null
+++ b/.github/actions/rsync-deployments/action.yml
@@ -0,0 +1,68 @@
+# 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.
+
+# Inspired by 
https://github.com/Burnett01/rsync-deployments/blob/7.1.0/action.yml
+name: Rsync Deploy
+description: Upload a folder to a remote destination via rsync over SSH.
+inputs:
+  switches:
+    description: rsync switches
+    required: false
+    default: "--archive --compress"
+  path:
+    description: Local source directory
+    required: true
+  remote_path:
+    description: Remote destination directory
+    required: true
+  remote_host:
+    description: SSH host
+    required: true
+  remote_port:
+    description: SSH port
+    required: false
+    default: "22"
+  remote_user:
+    description: SSH username
+    required: true
+  remote_key:
+    description: SSH private key (OpenSSH/PEM)
+    required: true
+runs:
+  using: composite
+  steps:
+    - name: rsync via ssh-agent
+      shell: bash
+      run: |
+        set -euo pipefail
+
+        # Start agent and load the key
+        eval "$(ssh-agent -s)"
+        ssh-add - <<< "${{ inputs.remote_key }}"
+
+        # SSH command with host key checking disabled
+        RSH="ssh -o StrictHostKeyChecking=no -p ${{ inputs.remote_port }}"
+
+        # Resolve paths and DSN
+        LOCAL_PATH="$GITHUB_WORKSPACE/${{ inputs.path }}"
+        DSN="${{ inputs.remote_user }}@${{ inputs.remote_host }}"
+
+        # Deploy
+        rsync ${{ inputs.switches }} -e "$RSH" "$LOCAL_PATH" "$DSN:${{ 
inputs.remote_path }}"
+
+        # Cleanup identities from the agent
+        ssh-add -D || true
diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml
index c80beaec5..ec96756a5 100644
--- a/.github/workflows/build_docs.yml
+++ b/.github/workflows/build_docs.yml
@@ -84,7 +84,7 @@ jobs:
           docker run --rm --volume "$PWD:/root/flink-cdc" 
chesnay/flink-ci:java_8_11_17_21_maven_386 bash -c "cd /root/flink-cdc && chmod 
+x ./.github/workflows/docs.sh && ./.github/workflows/docs.sh"
 
       - name: Upload documentation
-        uses: 
burnett01/rsync-deployments@0dc935cdecc5f5e571865e60d2a6cdc673704823
+        uses: ./.github/actions/rsync-deployments
         with:
           switches: --archive --compress --delete
           path: docs/target/
@@ -96,7 +96,7 @@ jobs:
 
       - name: Upload documentation alias
         if: env.flink_alias != ''
-        uses: 
burnett01/rsync-deployments@0dc935cdecc5f5e571865e60d2a6cdc673704823
+        uses: ./.github/actions/rsync-deployments
         with:
           switches: --archive --compress --delete
           path: docs/target/

Reply via email to