stages:
  - build

build-backend:
  stage: build
  image: docker:latest
  services:
   - docker:dind
  before_script:
    - docker login -u gitlab-ci-token -p ${CI_JOB_TOKEN} ${CI_REGISTRY}
  script:
    - docker build --pull -t $CI_REGISTRY_IMAGE/backend:$CI_COMMIT_REF_SLUG backend
    - docker push $CI_REGISTRY_IMAGE/backend:$CI_COMMIT_REF_SLUG
  only:
   changes:
    - .gitlab-ci.yml
    - backend/**/*

build-frontend:
  stage: build
  image: node:19-slim
  before_script:
    - cd frontend
  script:
   - npm ci 
   - npm run build
  artifacts:
    paths:
     - ${CI_BUILDS_DIR}/frontend/build/*