diff --git a/.github/workflows/s.yml b/.github/workflows/s.yml new file mode 100644 index 00000000..8642090a --- /dev/null +++ b/.github/workflows/s.yml @@ -0,0 +1,52 @@ +name: S3 and Drive CI/CD Pipeline +on: + push: + branches: + - feat/drive-to-s3 +jobs: + run-pipeline: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Print AWS Key (for debugging only) + run: echo "AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }}" + + - name: Install AWS CLI + run: | + sudo apt-get install awscli + + - name: Configure AWS credentials manually + run: | + aws configure set aws_access_key_id "${{ secrets.AWS_ACCESS_KEY_ID }}" + aws configure set aws_secret_access_key "${{ secrets.AWS_SECRET_ACCESS_KEY }}" + aws configure set region ap-south-1 + + - name: Rename folder in S3 to backup + run: | + aws s3 mv s3://isac-nitkkr-public/isaac-s3-images/ s3://isac-nitkkr-public/isaac-s3-images-bkp/ --recursive + env: + AWS_REGION: ap-south-1 + + - name: Download files from Google Drive (using wget) + run: | + wget --no-check-certificate 'https://drive.google.com/drive/folders/1YLdE1YjT1qSU8ank-ZVhYs5cl0jQohS8' -O /tmp/downloaded-file.zip + + - name: Unzip downloaded files + run: | + sudo apt-get install unzip + unzip /tmp/downloaded-file.zip -d /tmp/unzipped-folder/ + + - name: Upload unzipped folder to S3 + run: | + aws s3 cp /tmp/unzipped-folder/ s3://isac-nitkkr-public/isaac-s3-images/ --recursive + env: + AWS_REGION: ap-south-1 + + - name: Delete backup folder from S3 if all tasks pass + if: ${{ success() }} + run: | + aws s3 rm s3://isac-nitkkr-public/isaac-s3-images-bkp/ --recursive + env: + AWS_REGION: ap-south-1