supplier_central_frontend/.forgejo/workflows/ci-cd-main.yml
vickytechkey 36c9a1e41a
All checks were successful
Beta CI/CD Pipeline / build-and-test (push) Successful in 1m41s
Beta CI/CD Pipeline / deploy-beta (push) Successful in 1m5s
chore: decouple lftp installation from deployment step in CI pipeline
2026-09-06 18:21:08 +05:30

57 lines
1.3 KiB
YAML

name: Production CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build-and-test:
runs-on: ubuntu-latest
container: node:22
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Install dependencies
run: npm ci
- name: Lint
run: npm run lint
- name: Test
run: npm run test
- name: Build
run: npm run build
- name: Upload Build Artifact
uses: actions/upload-artifact@v3
with:
name: dist
path: dist/
deploy-prod:
needs: build-and-test
runs-on: ubuntu-latest
container: node:22
environment:
name: production
steps:
- name: Download Build Artifact
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- name: Install lftp
run: |
apt-get update && apt-get install -y lftp
- name: Deploy to Production via FTP
env:
FTP_USERNAME: ${{ secrets.FTP_USERNAME }}
FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }}
FTP_HOST: ${{ secrets.FTP_HOST }}
run: |
lftp -d -u "$FTP_USERNAME","$FTP_PASSWORD" -e "set ssl:verify-certificate no; set ftp:ssl-allow yes; set ftp:ssl-force true; set ftp:ssl-protect-data true; set ftp:passive-mode true; mirror -R dist/ ./; quit" $FTP_HOST