Skip to content

PHP 8.3 deploy (SSH2) (#1396) #300

PHP 8.3 deploy (SSH2) (#1396)

PHP 8.3 deploy (SSH2) (#1396) #300

name: deploy-staging
on:
push:
branches: [master]
concurrency:
group: environment-staging
jobs:
deploy:
name: "Deploy to srs.skauting.cz"
environment: srs.skauting.cz
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:
CONFIG_MAIL_PASSWORD:
CONFIG_MAIL_PORT: 0
CONFIG_MAIL_SECURE:
CONFIG_MAIL_SMTP: false
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