github.com/0chain/gosdk@v1.17.11/.github/workflows/backup.yml (about) 1 name: Mirror repo to S3 2 3 on: 4 schedule: 5 # Runs everyday at 3:55 am 6 - cron: '55 3 * * * ' 7 workflow_dispatch: 8 9 jobs: 10 s3Backup: 11 runs-on: docker-builds 12 steps: 13 - uses: actions/checkout@v1 14 15 - name: Get info 16 id: get_info 17 run: | 18 GIT_COMMIT_DATE="$((`git log -n 1 --date-order --all | grep Date | awk '{ print $4 }'`))" 19 YESTERDAY_DATE="$((`date | awk '{ print $3 }'`-1))" 20 echo ::set-output name=GIT_COMMIT_DATE::${GIT_COMMIT_DATE} 21 echo ::set-output name=YESTERDAY_DATE::${YESTERDAY_DATE} 22 echo $GIT_COMMIT_DATE 23 echo $YESTERDAY_DATE 24 25 - name: Create backup 26 if: steps.get_info.outputs.GIT_COMMIT_DATE == steps.get_info.outputs.YESTERDAY_DATE 27 run: | 28 sudo apt update && sudo apt install python3-pip zip unzip -y 29 sudo pip3 install github-backup 30 sudo github-backup -O 0chain -P -t ${{ secrets.ACCESS_TOKEN }} --output-directory=/github-backup/gosdk --all -O -R gosdk 31 32 - name: Create zip 33 if: steps.get_info.outputs.GIT_COMMIT_DATE == steps.get_info.outputs.YESTERDAY_DATE 34 run: sudo zip -r gosdk.zip /github-backup/gosdk 35 36 - name: Install AWS 37 run: | 38 curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" 39 unzip awscliv2.zip 40 sudo ./aws/install 41 42 - name: Set AWS credentials 43 if: steps.get_info.outputs.GIT_COMMIT_DATE == steps.get_info.outputs.YESTERDAY_DATE 44 uses: aws-actions/configure-aws-credentials@v1 45 with: 46 aws-access-key-id: ${{ secrets.S3_ACCESS_KEY }} 47 aws-secret-access-key: ${{ secrets.S3_SECRET_KEY }} 48 aws-region: us-east-2 49 50 - name: Backup to s3 51 if: steps.get_info.outputs.GIT_COMMIT_DATE == steps.get_info.outputs.YESTERDAY_DATE 52 run: | 53 aws s3 cp gosdk.zip s3://${{ secrets.MIRROR_TARGET }}/gosdk.zip