kind: pipeline type: docker name: frontend steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true - name: Install packages image: node commands: - yarn - name: Run unit tests image: node commands: - yarn test - name: Build and push frontend image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: frontend/Dockerfile context: frontend/ use_cache: true repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend registry: docker.humenius.me tags: ["latest", "${DRONE_SEMVER}"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true mount: - node_modules when: event: push - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 trigger: branch: - release/* ref: - refs/tags/* # only trigger when tagging --- kind: pipeline type: docker name: frontend-dev steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true - name: Install packages image: node commands: - yarn - name: Run unit tests image: node commands: - yarn test - name: Build and push frontend dev image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: frontend/Dockerfile context: frontend/ use_cache: true repo: docker.humenius.me/humenius/ts-onlinetime-ranks-frontend registry: docker.humenius.me tags: ["dev-${DRONE_COMMIT_SHA}", "dev-latest"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true mount: - node_modules when: event: push - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 trigger: exclude: branch: - release/* --- kind: pipeline type: docker name: backend steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true - name: Run unit tests image: node commands: - npm run test:cov - name: Run E2E tests image: node - npm run test:e2e - name: Build and push backend image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: backend/Dockerfile use_cache: true context: backend/ repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend registry: docker.humenius.me tags: ["latest", "${DRONE_SEMVER}"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true mount: - node_modules when: event: push - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 trigger: branch: - release/* ref: - refs/tags/* # only trigger when tagging --- kind: pipeline type: docker name: backend-dev steps: - name: Restore cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key restore: true - name: Run unit tests image: node commands: - npm run test:cov - name: Run E2E tests image: node - npm run test:e2e - name: Build and push backend dev image image: plugins/docker settings: username: from_secret: docker_username password: from_secret: docker_password dockerfile: backend/Dockerfile context: backend/ use_cache: true repo: docker.humenius.me/humenius/ts-onlinetime-ranks-backend registry: docker.humenius.me tags: ["dev-${DRONE_COMMIT_SHA}", "dev-latest"] - name: Rebuild cache image: plugins/s3-cache settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key rebuild: true mount: - node_modules when: event: push - name: Flush cache image: plugins/s3-cache:1 settings: pull: true endpoint: https://storage.humenius.me access_key: from_secret: aws_access_key_id secret_key: from_secret: aws_secret_access_key flush: true flush_age: 14 trigger: exclude: branch: - release/*