@@ -24,13 +24,52 @@ inputs:
2424    required : false 
2525
2626runs :
27-   using : ' docker' 
28-   image : ' Dockerfile' 
29-   entrypoint : ' /entrypoint.sh' 
30-   args :
31-     - ${{ inputs.url }} 
32-     - ${{ inputs.access-key }} 
33-     - ${{ inputs.secret-key }} 
34-     - ${{ inputs.local-path }} 
35-     - ${{ inputs.remote-path }} 
36-     - ${{ inputs.policy }} 
27+   using : composite 
28+   steps :
29+     - name : Setup mc 
30+       working-directory : /usr/local/bin 
31+       run : | 
32+         [ -n "$(which mc)" ] && exit 0 
33+         arch=$(dpkg --print-architecture | sed 's/armhf/arm/g') 
34+         sudo wget --progres=dot:binary \ 
35+           "https://dl.min.io/client/mc/release/linux-${arch}/mc" 
36+         sudo chmod +x mc 
37+ shell : bash 
38+ 
39+     - name : Setup s3 alias 
40+       run : | 
41+         mc alias set s3 "${{ inputs.url }}" \ 
42+           "${{ inputs.access-key }}" "${{ inputs.secret-key }}" 
43+ shell : bash 
44+ 
45+     - name : Upload objects 
46+       run : | 
47+         echo "Will upload ${{ inputs.local-path }} to ${{ inputs.remote-path }}" 
48+         local_path=${{ inputs.local-path }} 
49+         if [ "${local_path#*'*'}" != "$local_path" ]; then 
50+           # Handle local_files with wildcards 
51+           local_dir=$(dirname "$local_path") 
52+           local_files=$(basename "$local_path") 
53+           path_depth=$(echo "$local_dir" | awk -F"/" '{print NF-1}') 
54+           IFS=$'\n' 
55+           for p in $(find "$local_dir" \ 
56+             -name "$local_files" -maxdepth "$path_depth"); do 
57+               [ "$p" = "$local_dir" ] && continue 
58+               mc cp -r "$p" "s3/${{ inputs.remote-path }}" 
59+           done 
60+           unset IFS 
61+         else 
62+           mc cp -r "$local_path" "s3/${{ inputs.remote-path }}" 
63+         fi 
64+ shell : bash 
65+ 
66+     - name : Set policy 
67+       run : | 
68+         if [ "${{ inputs.policy }}" = 1 ] ; then 
69+           echo "Will make ${{ inputs.remote-path }} public" 
70+           mc anonymous -r set download "s3/${{ inputs.remote-path }}" 
71+         else 
72+           echo "Will make ${{ inputs.remote-path }} private" 
73+           mc anonymous -r set private "s3/${{ inputs.remote-path }}" || true  
74+         fi 
75+ shell : bash 
0 commit comments