upload-file-s3.yml 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. name: Upload File to S3
  2. on:
  3. workflow_call:
  4. secrets:
  5. s3_access_key:
  6. s3_secret_key:
  7. inputs:
  8. endpoint:
  9. required: true
  10. type: string
  11. bucket:
  12. required: true
  13. type: string
  14. download_id:
  15. required: true
  16. type: string
  17. filename:
  18. required: true
  19. type: string
  20. jobs:
  21. upload-file-in-s3:
  22. name: Upload file in S3
  23. runs-on: ubuntu-latest
  24. steps:
  25. - name: Install minio
  26. run: |
  27. curl https://dl.min.io/client/mc/release/linux-amd64/mc \
  28. --create-dirs \
  29. -o $GITHUB_WORKSPACE/minio-binaries/mc
  30. chmod +x $GITHUB_WORKSPACE/minio-binaries/mc
  31. echo $GITHUB_WORKSPACE/minio-binaries/ >> $GITHUB_PATH
  32. - name: Setup minio
  33. run: mc alias set s3 ${{ inputs.endpoint }} ${{ secrets.s3_access_key }} ${{ secrets.s3_secret_key }}
  34. - name: Download file
  35. uses: actions/download-artifact@v3
  36. with:
  37. name: ${{ inputs.download_id }}
  38. - name: Upload file to s3
  39. run: mc cp ${{ inputs.filename }} s3/${{ inputs.bucket }}/