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

xuanwo pushed a commit to branch polish-sftp
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit c62b88fcbf20054c08aa9e6d20cf167e26f1f0db
Author: Xuanwo <[email protected]>
AuthorDate: Tue Oct 31 14:46:21 2023 +0800

    ci(services/sftp): Move setup logic into docker-compose
    
    Signed-off-by: Xuanwo <[email protected]>
---
 .github/services/sftp/sftp/action.yml              | 14 ++-----
 .../sftp/sftp_with_default_root/action.yml         | 18 ++------
 .../action.yml => fixtures/sftp/change_root_dir.sh | 28 ++-----------
 .../sftp/docker-compose-sftp-with-default-root.yml | 39 +++++++----------
 .../sftp/docker-compose-sftp.yml                   | 38 ++++++-----------
 fixtures/sftp/test_ssh_key                         | 49 ++++++++++++++++++++++
 fixtures/sftp/test_ssh_key.pub                     |  1 +
 7 files changed, 88 insertions(+), 99 deletions(-)

diff --git a/.github/services/sftp/sftp/action.yml 
b/.github/services/sftp/sftp/action.yml
index d4e5ace81..b15007914 100644
--- a/.github/services/sftp/sftp/action.yml
+++ b/.github/services/sftp/sftp/action.yml
@@ -21,16 +21,10 @@ description: 'Behavior test for SFTP'
 runs:
   using: "composite"
   steps:
-    - name: Setup sftp
+    - name: Setup Sftp
       shell: bash
-      run: |
-        mkdir -p target/ssh
-        ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null
-        docker run \
-            -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \
-            --ulimit nofile=65536:65536 \
-            -p 2222:22 -d atmoz/sftp \
-            foo::::upload
+      working-directory: fixtures/sftp
+      run: docker-compose -f docker-compose-sftp.yml up -d
     - name: Setup
       shell: bash
       run: |
@@ -38,6 +32,6 @@ runs:
         OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222
         OPENDAL_SFTP_ROOT=/upload/sftp_test/
         OPENDAL_SFTP_USER=foo
-        OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa
+        OPENDAL_SFTP_KEY=${{ github.workspace }}/fixtures/sftp/test_ssh_key
         OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept
         EOF
diff --git a/.github/services/sftp/sftp_with_default_root/action.yml 
b/.github/services/sftp/sftp_with_default_root/action.yml
index a676f67a7..bb2536c8d 100644
--- a/.github/services/sftp/sftp_with_default_root/action.yml
+++ b/.github/services/sftp/sftp_with_default_root/action.yml
@@ -21,27 +21,17 @@ description: 'Behavior test for SFTP with default root'
 runs:
   using: "composite"
   steps:
-    - name: Setup sftp
+    - name: Setup Sftp
       shell: bash
-      run: |
-        mkdir -p target/ssh
-        ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null
-        tmpScript="$(mktemp)"
-        echo "sed -i -e 's#ForceCommand internal-sftp#ForceCommand 
internal-sftp -d /upload#' /etc/ssh/sshd_config" > "$tmpScript"
-        chmod +x "$tmpScript"
-        docker run \
-            -v "$tmpScript:/etc/sftp.d/change_root_dir" \
-            -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \
-            --ulimit nofile=65536:65536 \
-            -p 2222:22 -d atmoz/sftp \
-            foo::::upload
+      working-directory: fixtures/sftp
+      run: docker-compose -f docker-compose-sftp-with-default-root.yml up -d
     - name: Setup
       shell: bash
       run: |
         cat << EOF >> $GITHUB_ENV
         OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222
         OPENDAL_SFTP_USER=foo
-        OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa
+        OPENDAL_SFTP_KEY=${{ github.workspace }}/fixture/sftp/test_ssk_key
         OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept
         OPENDAL_DISABLE_RANDOM_ROOT=true
         EOF
diff --git a/.github/services/sftp/sftp/action.yml 
b/fixtures/sftp/change_root_dir.sh
similarity index 50%
copy from .github/services/sftp/sftp/action.yml
copy to fixtures/sftp/change_root_dir.sh
index d4e5ace81..39c6c0754 100644
--- a/.github/services/sftp/sftp/action.yml
+++ b/fixtures/sftp/change_root_dir.sh
@@ -1,3 +1,4 @@
+#!/bin/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
@@ -15,29 +16,6 @@
 # specific language governing permissions and limitations
 # under the License.
 
-name: sftp
-description: 'Behavior test for SFTP'
+set -e
 
-runs:
-  using: "composite"
-  steps:
-    - name: Setup sftp
-      shell: bash
-      run: |
-        mkdir -p target/ssh
-        ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null
-        docker run \
-            -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \
-            --ulimit nofile=65536:65536 \
-            -p 2222:22 -d atmoz/sftp \
-            foo::::upload
-    - name: Setup
-      shell: bash
-      run: |
-        cat << EOF >> $GITHUB_ENV
-        OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222
-        OPENDAL_SFTP_ROOT=/upload/sftp_test/
-        OPENDAL_SFTP_USER=foo
-        OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa
-        OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept
-        EOF
+sed -i -e 's#ForceCommand internal-sftp#ForceCommand internal-sftp -d 
/upload#' /etc/ssh/sshd_config
diff --git a/.github/services/sftp/sftp/action.yml 
b/fixtures/sftp/docker-compose-sftp-with-default-root.yml
similarity index 50%
copy from .github/services/sftp/sftp/action.yml
copy to fixtures/sftp/docker-compose-sftp-with-default-root.yml
index d4e5ace81..e24b98083 100644
--- a/.github/services/sftp/sftp/action.yml
+++ b/fixtures/sftp/docker-compose-sftp-with-default-root.yml
@@ -15,29 +15,18 @@
 # specific language governing permissions and limitations
 # under the License.
 
-name: sftp
-description: 'Behavior test for SFTP'
+version: '3.8'
 
-runs:
-  using: "composite"
-  steps:
-    - name: Setup sftp
-      shell: bash
-      run: |
-        mkdir -p target/ssh
-        ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null
-        docker run \
-            -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \
-            --ulimit nofile=65536:65536 \
-            -p 2222:22 -d atmoz/sftp \
-            foo::::upload
-    - name: Setup
-      shell: bash
-      run: |
-        cat << EOF >> $GITHUB_ENV
-        OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222
-        OPENDAL_SFTP_ROOT=/upload/sftp_test/
-        OPENDAL_SFTP_USER=foo
-        OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa
-        OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept
-        EOF
+services:
+  sftp:
+    image: atmoz/sftp
+    ports:
+      - "2222:22"
+    volumes:
+      - ./change_root_dir.sh:/etc/sftp.d/change_root_dir
+      - ./test_ssh_key.pub:/home/foo/.ssh/keys/id_rsa.pub:ro
+    ulimits:
+      nofile:
+        soft: 65536
+        hard: 65536
+    command: foo::::upload
diff --git a/.github/services/sftp/sftp/action.yml 
b/fixtures/sftp/docker-compose-sftp.yml
similarity index 50%
copy from .github/services/sftp/sftp/action.yml
copy to fixtures/sftp/docker-compose-sftp.yml
index d4e5ace81..3e6c74db1 100644
--- a/.github/services/sftp/sftp/action.yml
+++ b/fixtures/sftp/docker-compose-sftp.yml
@@ -15,29 +15,17 @@
 # specific language governing permissions and limitations
 # under the License.
 
-name: sftp
-description: 'Behavior test for SFTP'
+version: '3.8'
 
-runs:
-  using: "composite"
-  steps:
-    - name: Setup sftp
-      shell: bash
-      run: |
-        mkdir -p target/ssh
-        ssh-keygen -t rsa -b 4096 -f target/ssh/id_rsa -q -N "" < /dev/null
-        docker run \
-            -v `pwd`/target/ssh/id_rsa.pub:/home/foo/.ssh/keys/id_rsa.pub:ro \
-            --ulimit nofile=65536:65536 \
-            -p 2222:22 -d atmoz/sftp \
-            foo::::upload
-    - name: Setup
-      shell: bash
-      run: |
-        cat << EOF >> $GITHUB_ENV
-        OPENDAL_SFTP_ENDPOINT=ssh://127.0.0.1:2222
-        OPENDAL_SFTP_ROOT=/upload/sftp_test/
-        OPENDAL_SFTP_USER=foo
-        OPENDAL_SFTP_KEY=${{ github.workspace }}/target/ssh/id_rsa
-        OPENDAL_SFTP_KNOWN_HOSTS_STRATEGY=accept
-        EOF
+services:
+  sftp:
+    image: atmoz/sftp
+    ports:
+      - 2222:22
+    volumes:
+      - ./test_ssh_key.pub:/home/foo/.ssh/keys/id_rsa.pub:ro
+    ulimits:
+      nofile:
+        soft: 65536
+        hard: 65536
+    command: foo::::upload
diff --git a/fixtures/sftp/test_ssh_key b/fixtures/sftp/test_ssh_key
new file mode 100644
index 000000000..c84056ec6
--- /dev/null
+++ b/fixtures/sftp/test_ssh_key
@@ -0,0 +1,49 @@
+-----BEGIN OPENSSH PRIVATE KEY-----
+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
+-----END OPENSSH PRIVATE KEY-----
diff --git a/fixtures/sftp/test_ssh_key.pub b/fixtures/sftp/test_ssh_key.pub
new file mode 100644
index 000000000..d7b5df280
--- /dev/null
+++ b/fixtures/sftp/test_ssh_key.pub
@@ -0,0 +1 @@
+ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQABAAACAQDsMyMIyiqIngNUnl/zM232vAVrd2Cz4kAKryTN0oQPt5uNb9WF9+5pVw7VF/eyPwdd+dcELic283Gxm2z6ncCau1gI60hXpezopWB3PidVZDAe7lWWE9fUdm7b6qoLRJr310y+vDLXz8fQNznl0/molwbyC2B4PBPzqlbn8XmDn6pD0YJMC8JaqpoXtZnreGudtWukpc4J06k3BYSMcBP11cZy/Y+pim3IMDjzs5FA7x0LwwBQ2kD9aqd1DqZQe6Ga/k73JCoy3kFhRuInpDQZLObVkl0aLRfH8yUR+P0Nhzo99OAB03hzh7f+io10gg8zUHxO7rml93lcdg8uT+XC/fRmEjNKBlHf6TWBrPWy2a4xDSjkq95KyeXbabNSeygfFLk9nFGIo1xZwyGs1FLQE6hOrqWYFdokxeBC+i2vpIIHhgWY0VDmnIAJ23P5dqhds/yF
 [...]

Reply via email to