diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 62f3813d31343aefd8be9b2c162e5cb7e200eee3..cbdef0702d183010a1c70c32e4706eefb37d9899 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,9 +10,8 @@ stages: #==[ Prepare node ]============================================================= -fe-cache-node-job: +.fe-node-job: image: node:16-alpine - stage: setup tags: - commul cache: @@ -21,36 +20,76 @@ fe-cache-node-job: - frontend/package-lock.json paths: - frontend/.npm/ - script: + before_script: - cd frontend - npm ci --cache .npm --prefer-offline only: - tags - development -#==[ Frontend checks ]========================================================== - -fe-check-node-job: - needs: - - fe-cache-node-job +.be-node-job: image: node:16-alpine - stage: check tags: - commul cache: key: files: - - frontend/package-lock.json + - backend/package-lock.json paths: - - frontend/.npm/ - script: - - cd frontend + - backend/.npm/ + before_script: + - cd backend - npm ci --cache .npm --prefer-offline - - npm run test only: - tags - development +fe-cache-node-job: + extends: .fe-node-job + stage: setup + +be-cache-node-job: + extends: .be-node-job + stage: setup + +#==[ Frontend checks ]========================================================== + +fe-lint-node-job: + extends: .fe-node-job + stage: check + needs: + - fe-cache-node-job + script: + - cd frontend + - npm run style:check + +fe-test-node-job: + extends: .fe-node-job + stage: check + needs: + - fe-cache-node-job + script: + - cd frontend + - npm run test + +be-lint-node-job: + extends: .be-node-job + stage: check + needs: + - be-cache-node-job + script: + - cd backend + - npm run style:check + +be-test-node-job: + extends: .be-node-job + stage: check + needs: + - be-cache-node-job + script: + - cd backend + - npm run test + #==[ Backend build ]============================================================ # TODO: cache docker layers