diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000000000..35007aa131107 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,43 @@ +name: Deploy + +concurrency: + group: deploy + +on: + workflow_dispatch: + inputs: + # ci_required: + # description: 'CI Suite is required' + # type: boolean + # required: true + # default: true + perform_deploy_sierra: + description: 'Deploy SierraBay' + type: boolean + required: true + default: true + +jobs: + # CI: + # uses: ./.github/workflows/ci.yml # use the callable tests job to run tests + # if: ${{ inputs.ci_required }} + + deploy-sierra: + name: Deploy SierraBay + runs-on: ubuntu-latest + # needs: [CI] + if: always() && !cancelled() && !failure() && inputs.perform_deploy_sierra + + steps: + - name: Update and Build SierraBay + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.PRODUCTION_HOST }} + username: ${{ secrets.PRODUCTION_USERNAME }} + key: ${{ secrets.PRODUCTION_SSH_KEY }} + passphrase: ${{ secrets.PRODUCTION_SSH_KEY_PASS }} + script: | + TIME=$(date +'%Y-%m-%d%T') + sudo systemctl --wait start deploy-sierrabay + journalctl --since $TIME -u deploy-sierrabay --no-pager --all + systemctl is-failed deploy-sierrabay | grep -q "failed" && echo "Deployment Failed!" && exit 1 || exit 0