|  | #!/bin/bash | 
|  | set -e | 
|  | set +x | 
|  |  | 
|  | if [ ! -z "$TRAVIS_BRANCH" -a "$TRAVIS_BRANCH" != "master" ]; then | 
|  | echo "On $TRAVIS_BRANCH, not saving key." | 
|  | exit 0 | 
|  | fi | 
|  |  | 
|  | if [ ! -z "$GH_KEY" ]; then | 
|  | ssh-agent > ~/.ssh/agent.sh | 
|  | . ~/.ssh/agent.sh | 
|  | mkdir -p ~/.ssh/ | 
|  | echo "$GH_KEY" | base64 -d > ~/.ssh/id_git | 
|  | chmod 0400 ~/.ssh/id_git | 
|  | ssh-keygen -y -f ~/.ssh/id_git > ~/.ssh/id_git.pub | 
|  | ssh-add ~/.ssh/id_git | 
|  | cat > ~/.ssh/config <<EOF | 
|  | Host github.com | 
|  | User git | 
|  | IdentityFile ~/.ssh/id_git | 
|  | LogLevel ERROR | 
|  | EOF | 
|  |  | 
|  | echo "Got ssh key $(ssh-add -l -E md5)" | 
|  | else | 
|  | echo "No ssh key." | 
|  | fi |