name: Deploy app.opendc.org on: push: branches: ["prod"] workflow_dispatch: workflow_run: workflows: ["Publish website docker image"] types: [completed] jobs: deploy-app: if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name != 'workflow_run' }} 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'