|
| 1 | +# Deploys containers to the development environment. |
| 2 | +# |
| 3 | +name: Deploy to Staging |
| 4 | +on: |
| 5 | +push: |
| 6 | +branches: |
| 7 | +- dev |
| 8 | +env: |
| 9 | +_TOKEN: ${{ secrets._TOKEN }} |
| 10 | +DOCKER_ACTOR: ${{ secrets.DOCKER_ACTOR }} |
| 11 | + |
| 12 | +jobs: |
| 13 | + |
| 14 | +build-worker: |
| 15 | +name: Build deployer |
| 16 | +runs-on: ubuntu-20.04 |
| 17 | +steps: |
| 18 | +- name: Checkout |
| 19 | +uses: actions/checkout@v2 |
| 20 | +- name: Login to docker registry |
| 21 | +run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 22 | +- name: Docker push worker |
| 23 | +run: | |
| 24 | +docker build -t ghcr.io/eyblockchain/nightfall3-worker . -f worker.Dockerfile |
| 25 | +docker push ghcr.io/eyblockchain/nightfall3-worker |
| 26 | +
|
| 27 | + build-deployer: |
| 28 | +name: Build deployer |
| 29 | +runs-on: ubuntu-20.04 |
| 30 | +steps: |
| 31 | +- name: Checkout |
| 32 | +uses: actions/checkout@v2 |
| 33 | +- name: Login to docker registry |
| 34 | +run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 35 | +- name: Docker push deployer |
| 36 | +run: | |
| 37 | +docker build -t ghcr.io/eyblockchain/nightfall3-deployer . -f deployer.Dockerfile |
| 38 | +docker push ghcr.io/eyblockchain/nightfall3-deployer |
| 39 | +
|
| 40 | + build-optimist: |
| 41 | +name: Build optimist |
| 42 | +runs-on: ubuntu-20.04 |
| 43 | +steps: |
| 44 | +- name: Checkout |
| 45 | +uses: actions/checkout@v2 |
| 46 | +- name: Login to docker registry |
| 47 | +run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 48 | +- name: Docker push optimist |
| 49 | +run: | |
| 50 | +docker build -t ghcr.io/eyblockchain/nightfall3-optimist . -f optimist.Dockerfile |
| 51 | +docker push ghcr.io/eyblockchain/nightfall3-optimist |
| 52 | +
|
| 53 | + build-proposer: |
| 54 | +name: Build proposer |
| 55 | +runs-on: ubuntu-20.04 |
| 56 | +steps: |
| 57 | +- name: Checkout |
| 58 | +uses: actions/checkout@v2 |
| 59 | +- name: Login to docker registry |
| 60 | +run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 61 | +- name: Docker push proposer |
| 62 | +run: | |
| 63 | +docker build -t ghcr.io/eyblockchain/nightfall3-proposer . -f proposer.Dockerfile |
| 64 | +docker push ghcr.io/eyblockchain/nightfall3-proposer |
| 65 | +
|
| 66 | +# build-challenger: |
| 67 | +# name: Build challenger |
| 68 | +# runs-on: ubuntu-20.04 |
| 69 | +# steps: |
| 70 | +# - name: Checkout |
| 71 | +# uses: actions/checkout@v2 |
| 72 | +# - name: Login to docker registry |
| 73 | +# run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 74 | +# - name: Docker push challenger |
| 75 | +# run: | |
| 76 | +# docker build -t ghcr.io/eyblockchain/nightfall3-challenger . -f challenger.Dockerfile |
| 77 | +# docker push ghcr.io/eyblockchain/nightfall3-challenger |
| 78 | + |
| 79 | +# build-liquidity: |
| 80 | +# name: Build liquidity provider |
| 81 | +# runs-on: ubuntu-20.04 |
| 82 | +# steps: |
| 83 | +# - name: Checkout |
| 84 | +# uses: actions/checkout@v2 |
| 85 | +# - name: Login to docker registry |
| 86 | +# run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 87 | +# - name: Docker push liqidity |
| 88 | +# run: | |
| 89 | +# docker build -t ghcr.io/eyblockchain/nightfall3-liquidity . -f liquidity.Dockerfile |
| 90 | +# docker push ghcr.io/eyblockchain/nightfall3-liquidity |
| 91 | + |
| 92 | +deploy: |
| 93 | +name: Deploy |
| 94 | +runs-on: ubuntu-20.04 |
| 95 | +needs: [build-deployer, build-optimist, build-proposer, build-challenger, build-liquidity] |
| 96 | +steps: |
| 97 | +- name: Checkout |
| 98 | +uses: actions/checkout@v2 |
| 99 | +- name: Configure SSH |
| 100 | +run: | |
| 101 | +mkdir -p ~/.ssh/ |
| 102 | +echo "$SSH_KEY" > ~/.ssh/dev.key |
| 103 | +chmod 600 ~/.ssh/dev.key |
| 104 | +cat >>~/.ssh/config <<END |
| 105 | +Host dev |
| 106 | +HostName $SSH_HOST |
| 107 | +User $SSH_USER |
| 108 | +IdentityFile ~/.ssh/dev.key |
| 109 | +StrictHostKeyChecking no |
| 110 | +END |
| 111 | + env: |
| 112 | +SSH_USER: pong |
| 113 | +SSH_KEY: ${{ secrets.DEV_SSH_KEY }} |
| 114 | +SSH_HOST: ohio.nightfall3.com |
| 115 | +- name: Copy files |
| 116 | +run: | |
| 117 | +scp dev.env pull-images.sh docker-compose.beta.yml dev |
| 118 | +ssh dev 'mv dev.env .env' |
| 119 | +ssh dev 'mv docker-compose.beta.yml docker-compose.yml' |
| 120 | + - name: Login to docker registry |
| 121 | +run: echo "${{ secrets._TOKEN }}" | docker login ghcr.io -u $DOCKER_ACTOR --password-stdin |
| 122 | +- name: Pull docker images |
| 123 | +run: ssh dev './pull-images' |
| 124 | +- name: Run up nightfall |
| 125 | +run: ssh 'docker-compose up -d deployer optimist' |
| 126 | +- name: Run up applications |
| 127 | +run: | |
| 128 | +ssh dev 'await-deployer' |
| 129 | +ssh dev 'docker-compose up -d proposer' |
0 commit comments