Merge branch 'dependabot/npm_and_yarn/utilities-495a011d1f' #1227
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CD | Engine cyberia | remote ssh | |
| on: | |
| push: | |
| workflow_dispatch: | |
| inputs: | |
| job: | |
| description: 'Job to run (deploy, sync-and-deploy, init)' | |
| required: true | |
| type: choice | |
| options: | |
| - deploy | |
| - sync-and-deploy | |
| - init | |
| permissions: | |
| contents: write | |
| packages: write | |
| id-token: write | |
| jobs: | |
| deploy: | |
| if: >- | |
| github.repository == 'underpostnet/engine' | |
| && ( | |
| startsWith(github.event.head_commit.message, 'cd(ssh-engine-cyberia)') | |
| || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'deploy') | |
| ) | |
| name: Remote SSH deployment | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Run remote deploy via SSH | |
| uses: appleboy/ssh-action@v1.2.5 | |
| with: | |
| # Remote host (secret) | |
| host: ${{ secrets.SSH_HOST }} | |
| # Remote user (secret) | |
| username: ${{ secrets.SSH_USERNAME }} | |
| # Private key (secret) — the PEM contents (not a path) | |
| key: ${{ secrets.SSH_PRIV_KEY }} | |
| # Remote port (optional) | |
| port: ${{ secrets.SSH_PORT }} | |
| # Optional: increase timeout for long-running commands | |
| command_timeout: 60m | |
| # Optional: if your private key has a passphrase, add: | |
| # passphrase: ${{ secrets.SSH_KEY_PASSPHRASE }} | |
| # Commands to run on the remote VM | |
| script: | | |
| set -e | |
| echo "Starting remote deploy" | |
| cd /home/dd/engine | |
| sudo -n -- /bin/bash -lc "node bin run pull" | |
| sudo -n -- /bin/bash -lc "npm install" | |
| sudo -n -- /bin/bash -lc "node bin run deploy dd-cyberia" | |
| sync-and-deploy: | |
| if: >- | |
| github.repository == 'underpostnet/engine' | |
| && ( | |
| startsWith(github.event.head_commit.message, 'cd(ssh-sync-engine-cyberia)') | |
| || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'sync-and-deploy') | |
| ) | |
| name: Remote SSH sync and deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Run remote deploy via SSH | |
| uses: appleboy/ssh-action@v1.2.5 | |
| with: | |
| # Remote host (secret) | |
| host: ${{ secrets.SSH_HOST }} | |
| # Remote user (secret) | |
| username: ${{ secrets.SSH_USERNAME }} | |
| # Private key (secret) — the PEM contents (not a path) | |
| key: ${{ secrets.SSH_PRIV_KEY }} | |
| # Remote port (optional) | |
| port: ${{ secrets.SSH_PORT }} | |
| # Optional: increase timeout for long-running commands | |
| command_timeout: 60m | |
| # Optional: if your private key has a passphrase, add: | |
| # passphrase: ${{ secrets.SSH_KEY_PASSPHRASE }} | |
| # Commands to run on the remote VM | |
| script: | | |
| set -e | |
| echo "Starting remote sync and deploy" | |
| cd /home/dd/engine | |
| sudo -n -- /bin/bash -lc "node bin run pull" | |
| sudo -n -- /bin/bash -lc "npm install" | |
| sudo -n -- /bin/bash -lc "node bin run clean src/client/public/cyberia" | |
| sudo -n -- /bin/bash -lc "node bin fs src/client/public/cyberia --git --pull --recursive --deploy-id dd-cyberia" | |
| sudo -n -- /bin/bash -lc "node bin run clean src/client/public/underpost" | |
| sudo -n -- /bin/bash -lc "node bin fs src/client/public/underpost --git --pull --recursive --deploy-id dd-cyberia --storage-file-path './engine-private/conf/dd-cyberia/storage.underpost.json'" | |
| sudo -n -- /bin/bash -lc "npm run test" | |
| sudo -n -- /bin/bash -lc "node bin run sync --kubeadm --deploy-id-cron-jobs none --timeout-response 300000ms dd-cyberia" | |
| init: | |
| if: >- | |
| github.repository == 'underpostnet/engine' | |
| && ( | |
| startsWith(github.event.head_commit.message, 'cd(ssh-init-engine-cyberia)') | |
| || (github.event_name == 'workflow_dispatch' && github.event.inputs.job == 'init') | |
| ) | |
| name: Remote SSH init deployment | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Run remote deploy via SSH | |
| uses: appleboy/ssh-action@v1.2.5 | |
| with: | |
| # Remote host (secret) | |
| host: ${{ secrets.SSH_HOST }} | |
| # Remote user (secret) | |
| username: ${{ secrets.SSH_USERNAME }} | |
| # Private key (secret) — the PEM contents (not a path) | |
| key: ${{ secrets.SSH_PRIV_KEY }} | |
| # Remote port (optional) | |
| port: ${{ secrets.SSH_PORT }} | |
| # Optional: increase timeout for long-running commands | |
| command_timeout: 60m | |
| # Optional: if your private key has a passphrase, add: | |
| # passphrase: ${{ secrets.SSH_KEY_PASSPHRASE }} | |
| # Commands to run on the remote VM | |
| script: | | |
| set -e | |
| echo "Starting init deploy" | |
| cd /home/dd/engine | |
| sudo -n -- /bin/bash -lc "node bin run pull" | |
| sudo -n -- /bin/bash -lc "npm install" | |
| sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --sync --build-manifest --timeout-response 300000ms --versions green --replicas 1" | |
| sudo -n -- /bin/bash -lc "node bin deploy dd-cyberia production --kubeadm --disable-update-proxy --git-clean" | |
| sudo -n -- /bin/bash -lc "node bin monitor dd-cyberia production --ready-deployment --promote --timeout-response 300000ms --versions green --replicas 1" |