supplier_central_frontend/.forgejo/workflows/ci-cd-main.yml

52 lines
1.2 KiB
YAML
Raw Normal View History

name: Production CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build-and-test:
runs-on: ubuntu-latest
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
2026-08-09 02:11:14 +00:00
uses: actions/upload-artifact@v3
with:
name: dist
path: dist/
deploy-prod:
needs: build-and-test
runs-on: ubuntu-latest
2026-08-09 02:18:35 +00:00
environment:
name: production
steps:
- name: Download Build Artifact
2026-08-09 02:11:14 +00:00
uses: actions/download-artifact@v3
with:
name: dist
path: dist
- 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