useful-api.org/.github/workflows/upload.yml

49 lines
1.5 KiB
YAML

name: 'Publish to prod'
on:
push:
branches:
- "main"
permissions:
id-token: write
contents: read
jobs:
upload-prod:
runs-on: ubuntu-latest
permissions:
contents: 'read'
id-token: 'write'
steps:
- uses: 'actions/checkout@v3'
- name: Upload
env:
FTP_SERVER: ${{ secrets.FTP_SERVER }}
FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
DB_DSN: ${{ secrets.DB_DSN }}
DB_SCHEMA: ${{ secrets.DB_SCHEMA }}
DB_USERNAME: ${{ secrets.DB_USERNAME }}
DB_PASSWORD: ${{ secrets.DB_PASSWORD }}
run: |
sudo apt install lftp
rm -rf .git .github
cp credentials.templ.php credentials.php
sed -i -e "s/{DB_DSN}/${DB_DSN}/g" credentials.php
sed -i -e "s/{DB_SCHEMA}/${DB_SCHEMA}/g" credentials.php
sed -i -e "s/{DB_USERNAME}/${DB_USERNAME}/g" credentials.php
sed -i -e "s/{DB_PASSWORD}/${DB_PASSWORD}/g" credentials.php
mv maintenance.php maintenance-real.php
sed -e 's/false/true/g' maintenance-real.php > maintenance.php
lftp -e "
set sftp:auto-confirm yes;
set ssl:verify-certificate no;
open -u ${FTP_USERNAME},${FTP_PASSWORD} sftp://${FTP_SERVER};
put maintenance.php -o maintenance.php;
mirror --exclude=maintenance-real.php -e -R ./ ./;
put maintenance-real.php -o maintenance.php;
quit;
"