name: CI setup production on: workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest environment: production steps: - uses: actions/checkout@v3 - uses: oven-sh/setup-bun@v1 - uses: kielabokkie/ssh-key-and-known-hosts-action@v1 with: ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} ssh-host: ${{ secrets.DEPLOY_HOST }} - name: Install pm2 run: bun install pm2 -g shell: bash - name: Deploy using pm2 run: pm2 deploy ecosystem.config.js production setup env: # Deploy environment variables APP_NAME: ${{ secrets.APP_NAME }} PORT: ${{ secrets.PORT }} SSH_USERNAME: ${{ secrets.SSH_USERNAME }} DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} DEPLOY_PATH: ${{ secrets.DEPLOY_PATH }} # Appwrite variables NEXT_PUBLIC_APPWRITE_ENDPOINT: ${{ secrets.NEXT_PUBLIC_APPWRITE_ENDPOINT }} NEXT_PUBLIC_APPWRITE_PROJECT_ID: ${{ secrets.NEXT_PUBLIC_APPWRITE_PROJECT_ID }} APPWRITE_API_KEY: ${{ secrets.APPWRITE_API_KEY }} # Website variables SITE_NAME: ${{ secrets.SITE_NAME }} NEXT_PUBLIC_SITE_URL: ${{ secrets.NEXT_PUBLIC_SITE_URL }} IMAGE_DOMAINS: ${{ secrets.IMAGE_DOMAINS }} shell: bash