when: - event: push branch: main - event: pull_request variables: - &node_image node:24-slim - &pnpm_setup | corepack enable corepack prepare pnpm@10.23.0 --activate steps: install: image: *node_image commands: - *pnpm_setup - pnpm install --frozen-lockfile build-backend: image: *node_image commands: - *pnpm_setup - cd backend && NODE_OPTIONS=--max-old-space-size=4096 pnpm build depends_on: [install] build-admin: image: *node_image commands: - *pnpm_setup - cd apps/admin && pnpm build depends_on: [install] deploy-backend: image: alpine:3.21 commands: - apk add --no-cache openssh-client - mkdir -p ~/.ssh - cp /root/ssh-keys/rebreak-deploy ~/.ssh/id_ed25519 - chmod 600 ~/.ssh/id_ed25519 - ssh-keyscan -H staging.rebreak.org > ~/.ssh/known_hosts 2>/dev/null - tar czf backend-output.tar.gz -C backend/.output . - scp -i ~/.ssh/id_ed25519 backend-output.tar.gz root@staging.rebreak.org:/srv/rebreak/backend/.output-incoming.tar.gz - ssh -i ~/.ssh/id_ed25519 root@staging.rebreak.org 'bash /srv/rebreak/scripts/deploy-from-artifact.sh' depends_on: [build-backend] when: - event: push branch: main deploy-admin: image: alpine:3.21 commands: - apk add --no-cache openssh-client - mkdir -p ~/.ssh - cp /root/ssh-keys/rebreak-deploy ~/.ssh/id_ed25519 - chmod 600 ~/.ssh/id_ed25519 - ssh-keyscan -H staging.rebreak.org > ~/.ssh/known_hosts 2>/dev/null - tar czf admin-output.tar.gz -C apps/admin/.output . - scp -i ~/.ssh/id_ed25519 admin-output.tar.gz root@staging.rebreak.org:/srv/rebreak/apps/admin/.output-incoming.tar.gz - ssh -i ~/.ssh/id_ed25519 root@staging.rebreak.org 'bash /srv/rebreak/scripts/deploy-admin-from-artifact.sh' depends_on: [build-admin] when: - event: push branch: main # Webhook test