pipeline: install: image: node:20 commands: - npm ci pull: true lint: image: node:20 commands: - npm run lint depends_on: - install pull: true type-check: image: node:20 commands: - npm run check depends_on: - install pull: true test: image: node:20 commands: - npm run test depends_on: - install pull: true build: image: node:20 commands: - npm run build environment: - VITE_API_BASE_URL=https://api.csgow.tf secrets: - vite_plausible_domain - vite_sentry_dsn depends_on: - lint - type-check - test pull: true # E2E tests (optional - can be resource intensive) # test-e2e: # image: mcr.microsoft.com/playwright:v1.40.0-jammy # commands: # - npm run test:e2e # depends_on: # - build deploy: image: cschlosser/drone-ftps settings: hostname: from_secret: ftp_host src_dir: '/build/' clean_dir: true secrets: [ftp_username, ftp_password] when: branch: master event: [push, tag] status: success deploy-dev: image: cschlosser/drone-ftps settings: hostname: from_secret: ftp_host src_dir: '/build/' clean_dir: true secrets: - source: ftp_username_dev target: ftp_username - source: ftp_password_dev target: ftp_password when: branch: dev event: [push, tag] status: success deploy-cs2: image: cschlosser/drone-ftps settings: hostname: from_secret: ftp_host_cs2 src_dir: '/build/' clean_dir: true secrets: - source: ftp_username_cs2 target: ftp_username - source: ftp_password_cs2 target: ftp_password when: branch: cs2-port event: [push] status: success