summaryrefslogtreecommitdiff
path: root/.github/workflows/deploy.yml
blob: e1599e138da1ccc0fa816deb54acbf257f3ded70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
name: Deploy app.opendc.org

on:
  push:
    branches: ["prod"]
  workflow_dispatch:
  repository_dispatch:
    types: [publish-website-completed]

jobs:
  deploy-app:
    if: ${{ github.event_name != 'repository_dispatch' || github.event.action == 'publish-website-completed' }}
    runs-on: ubuntu-22.04
    steps:
      - name: Create SSH key
        run: |
          mkdir -p ~/.ssh/
          echo "$SSH_PRIVATE_KEY" > ../opendc.key
          sudo chmod 600 ../opendc.key
          echo "$SSH_KNOWN_HOSTS" > ~/.ssh/known_hosts
        shell: bash
        env:
          SSH_PRIVATE_KEY: ${{secrets.SSH_PRIVATE_KEY}}
          SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}}
      - name: Pull Changes
        run: ssh -i ../opendc.key opendc@opendc.org 'cd /opt/opendc && git pull origin'
      - name: Print Versions
        run: |
          ssh -i ../opendc.key opendc@opendc.org bash << 'EOF'
          cd /opt/opendc
          source .env
          echo "OPENDC_WEB_API_VERSION=$OPENDC_WEB_API_VERSION"
          echo "OPENDC_RUNNER_VERSION=$OPENDC_RUNNER_VERSION"
          echo "OPENDC_WEBSITE_VERSION=$OPENDC_WEBSITE_VERSION"
          EOF
      - name: Pull Images
        run: ssh -i ../opendc.key opendc@opendc.org 'cd /opt/opendc && source .env && docker-compose -f docker-compose.yml -f docker-compose.prod.yml pull'
      - name: Deploy Images
        run: ssh -i ../opendc.key opendc@opendc.org 'cd /opt/opendc && source .env && docker-compose -f docker-compose.yml -f docker-compose.prod.yml down && docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d'