Skip to content

Fixed bug

Fixed bug #145

Workflow file for this run

on:
push:
branches:
- main
- test
name: πŸš€ FTP deploy on push
jobs:
ftp-deploy:
name: β¬†οΈπŸ‘· FTP deploy
runs-on: ubuntu-latest
steps:
- name: 🚚 Get latest code
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
tools: composer:v2
coverage: none
env:
update: true
- uses: actions/cache@v4
id: cache
with:
path: ./vendor/
key: ${{ runner.os }}-php-vendor-${{ hashFiles('./composer.json') }}
- name: Install Dependencies
if: steps.cache.outputs.cache-hit != 'true'
uses: nick-invision/retry@v2
with:
timeout_minutes: 5
max_attempts: 5
command: composer update --no-interaction --no-progress
- name: Load DB data in and website address in .env
run: |
echo -e "DB_HOST=\"${{ secrets.DB_ADDRESS }}\"" >> ".env"
echo -e "DB_USER=\"${{ secrets.DB_USER }}\"" >> ".env"
echo -e "DB_PASSWORD=\"${{ secrets.DB_PASSWORD }}\"" >> ".env"
echo -e "WEBSITE_DOMAIN=\"www.${{ vars.DOMAIN }}\"" >> ".env"
echo -e "ISCRIZIONI_URL=\"${{ secrets.ISCRIZIONI_URL }}\"" >> ".env"
echo -e "INSTAGRAM_URL=\"${{ vars.INSTAGRAM_URL }}\"" >> ".env"
echo -e "WHATSAPP_URL=\"${{ vars.WHATSAPP_URL }}\"" >> ".env"
- name: Calculate Deploy Path
id: deploy-path
run: |
echo "Ref is '$REF'"
if [ $REF = 'main' ]
then
echo "path=admin/" >> "$GITHUB_OUTPUT"
echo "Path is admin/"
else
echo "path=admin_test/" >> "$GITHUB_OUTPUT"
echo "Path is admin_test/"
fi
env:
REF: ${{ github.ref_name }}
- name: Calculate emails to deploy
id: deploy-email
run: |
if [ $REF = 'main' ]
then
echo "dev_email=${{ secrets.DEV_EMAIL_BASE }}@${{ vars.DOMAIN }}" >> "$GITHUB_OUTPUT"
echo "info_email=${{ secrets.INFO_EMAIL_BASE }}@${{ vars.DOMAIN }}" >> "$GITHUB_OUTPUT"
else
echo "dev_email=${{ secrets.DEV_EMAIL_BASE }}_${{ github.ref_name }}@${{ vars.DOMAIN }}" >> "$GITHUB_OUTPUT"
echo "info_email=${{ secrets.INFO_EMAIL_BASE }}_${{ github.ref_name }}@${{ vars.DOMAIN }}" >> "$GITHUB_OUTPUT"
fi
env:
REF: ${{ github.ref_name }}
- name: Load Mail addresses in .env
if: github.ref_name == 'main'
run: |
echo -e "EMAIL_SOURCE=\"$DEV_EMAIL\"" >> ".env"
echo -e "CONTACT_EMAIL=\"$INFO_EMAIL\"" >> ".env"
env:
DEV_EMAIL: ${{ steps.deploy-email.outputs.dev_email }}
INFO_EMAIL: ${{ steps.deploy-email.outputs.info_email }}
- name: Calculate which database to connect
id: deploy-db
run: |
if [ $REF = 'main' ]
then
echo "deploy_db=${{ secrets.DB_MASTER_DATABASE }}" >> "$GITHUB_OUTPUT"
echo "Using PRODUCTION database"
else
echo "deploy_db=${{ secrets.DB_TEST_DATABASE }}" >> "$GITHUB_OUTPUT"
echo "Using TEST database"
fi
env:
REF: ${{ github.ref_name }}
- name: Load Database name in .env
run: echo -e "DB_NAME=\"$DB_NAME\"" >> ".env"
env:
DB_NAME: ${{ steps.deploy-db.outputs.deploy_db }}
- name: πŸ“‚ Sync files
uses: SamKirkland/FTP-Deploy-Action@v4.3.4
with:
server: ${{ secrets.FTP_ENDPOINT }}
username: ${{ secrets.FTP_USER }}
password: ${{ secrets.FTP_PASSWORD }}
server-dir: ${{ secrets.FTP_FOLDER_BASE }}${{ steps.deploy-path.outputs.path }}
log-level: minimal
- name: Genereate MySQL Views and Procedures Reload File
if: false
run: |
curl -s --request GET \
--url $URL
env:
URL: https://www.${{ vars.DOMAIN }}/${{ steps.deploy-path.outputs.path }}sql_autostart.php