Skip to content

deploy-manual

deploy-manual #171

Workflow file for this run

name: deploy-manual
on:
workflow_dispatch:
inputs:
environment:
description: "Environment"
type: environment
required: true
concurrency:
group: environment-${{ github.event.inputs.environment }}
jobs:
deploy:
name: "Manual deploy to ${{ github.event.inputs.environment }}"
environment: ${{ github.event.inputs.environment }}
runs-on: ubuntu-22.04
container:
image: skaut/lebeda:8.3
env:
CONFIG_DATABASE_HOST: ${{ secrets.CONFIG_DATABASE_HOST }}
CONFIG_DATABASE_NAME: ${{ secrets.CONFIG_DATABASE_NAME }}
CONFIG_DATABASE_PASSWORD: ${{ secrets.CONFIG_DATABASE_PASSWORD }}
CONFIG_DATABASE_USER: ${{ secrets.CONFIG_DATABASE_USER }}
CONFIG_MAIL_HOST: ${{ secrets.CONFIG_MAIL_HOST }}
CONFIG_MAIL_PASSWORD: ${{ secrets.CONFIG_MAIL_PASSWORD }}
CONFIG_MAIL_PORT: ${{ secrets.CONFIG_MAIL_PORT }}
CONFIG_MAIL_SECURE: ${{ vars.CONFIG_MAIL_SECURE }}
CONFIG_MAIL_SMTP: ${{ secrets.CONFIG_MAIL_SMTP }}
CONFIG_MAIL_USERNAME: ${{ secrets.CONFIG_MAIL_USERNAME }}
CONFIG_MAILING_SENDER_EMAIL: ${{ secrets.CONFIG_MAILING_SENDER_EMAIL }}
CONFIG_SKAUTIS_APPLICATION_ID: ${{ secrets.CONFIG_SKAUTIS_APPLICATION_ID }}
CONFIG_SKAUTIS_TEST_MODE: ${{ vars.CONFIG_SKAUTIS_TEST_MODE }}
CONFIG_RECAPTCHA_SITE_KEY: ${{ secrets.CONFIG_RECAPTCHA_SITE_KEY }}
CONFIG_RECAPTCHA_SECRET_KEY: ${{ secrets.CONFIG_RECAPTCHA_SECRET_KEY }}
DEPLOY_DIRECTORY: ${{ vars.DEPLOY_DIRECTORY }}
DEPLOY_LEBEDA: ${{ vars.DEPLOY_LEBEDA }}
DEPLOY_SSH_HOST: ${{ secrets.DEPLOY_SSH_HOST }}
DEPLOY_SSH_IP: ${{ secrets.DEPLOY_SSH_IP }}
DEPLOY_SSH_KEY: ${{ secrets.DEPLOY_SSH_KEY }}
DEPLOY_SSH_PORT: ${{ secrets.DEPLOY_SSH_PORT }}
DEPLOY_SSH_USERNAME: ${{ secrets.DEPLOY_SSH_USERNAME }}
steps:
- uses: actions/checkout@v4
- run: git config --global --add safe.directory '*'
# Copy & paste from https://github.com/actions/cache/blob/master/examples.md#php---composer
- name: Get composer cache
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Install yarn
run: |
apt-get update
apt-get install -y npm
npm install --global yarn
#Copy & paste from https://github.com/actions/cache/blob/master/examples.md#node---yarn
- name: Get yarn cache
id: yarn-cache
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
with:
path: ${{ steps.yarn-cache.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Setup SSH2
run: |
apt-get -y install libssh2-1-dev
pecl install pecl.php.net/ssh2-1.4.1
echo extension=ssh2.so > /usr/local/etc/php/conf.d/ssh2.ini
echo "${{ secrets.DEPLOY_SSH_KEY }}" > id_rsa
chmod 600 id_rsa
ssh-keygen -f id_rsa -y > id_rsa.pub
- name: Deploy
run: phing deploy