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'