#!/bin/sh # This file is part of MXE. # See index.html for further information. # cron job running on our DigitalOcean server fetching and uploading # package tarballs to MXE Amazon S3 backup server. # This also acts as a CI to file issue on GitHub if download fails. # DigitalOcean server IP: 104.131.71.203 # Admins: https://api.github.com/orgs/mxe/members # Keys: https://github.com/.keys or https://api.github.com/users//keys # # The script uses s3cmd to sync package tarballs: # http://s3tools.org/s3cmd # Manual switch to enable/disable issue filing on GitHub. # Useful to prevent the same issue from being filed multiple times file_issue=true cd ~/mxe && git pull # Test downloading without falling back to S3 download server. # All log is stored in tmp-download-log. if ! ( \ cd ~/mxe && \ make download -k MXE_NO_BACKUP_DL=true MXE_VERBOSE=true \ 2>&1 >tmp-download-log \ ) && $file_issue; then # If one or more download process fails, upload log to sprunge.us (a # pastebin-like text storage service). Store the returned URL in tmp-url. cat ~/mxe/tmp-download-log | curl -F 'sprunge=<-' http://sprunge.us \ >~/mxe/tmp-url # Use a fake "editor" to format the issue EDITOR=~/mxe/tools/fake-editor ghi open -L bug -- mxe/mxe fi cd ~/mxe && make clean-junk s3cmd sync --acl-public ~/mxe/pkg/* s3://mxe-pkg/ rm -f ~/mxe/tmp-download-log ~/mxe/tmp-url