---
kind: pipeline
type: docker
name: default

steps:
- name: backend_check
  image: rust
  commands:
  - apt update && apt install -y cmake
  - rustup component add clippy
  - cd geneit_backend
  - cargo clippy -- -D warnings
  - cargo test

- name: app_deploy
  image: node:23
  environment:
    AWS_ACCESS_KEY_ID:
      from_secret: AWS_ACCESS_KEY_ID
    AWS_SECRET_ACCESS_KEY:
      from_secret: AWS_SECRET_ACCESS_KEY
    AWS_DEFAULT_REGION: us-east-1
  commands:
  # Build website
  - cd geneit_app
  - npm install --legacy-peer-deps # TODO : remove when mui-color-input is updated
  - GENERATE_SOURCEMAP=false npm run build 
  # Install AWS
  - curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  - unzip awscliv2.zip
  - ./aws/install
  - aws configure set default.s3.signature_version s3v4
  # Upload to bucket
  - bash upload_bucket.sh