From b3d0bb0557347db4ac535c9bddafe58b73328516 Mon Sep 17 00:00:00 2001 From: Paolo Brasolin <paolo.brasolin@eurac.edu> Date: Wed, 2 Mar 2022 13:21:07 +0100 Subject: [PATCH] ci: refactor job structure --- .gitlab-ci.yml | 72 ++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 37 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5d60159..040c516 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,12 +8,18 @@ stages: - build - deploy -#==[ Prepare node ]============================================================= +#==[ Node jobs templates ]====================================================== -.fe-node-job: +.node-job: &node-job image: node:16-alpine tags: - shared + only: + - tags + - development + +.fe-node-job: + <<: *node-job cache: key: files: @@ -23,14 +29,9 @@ stages: before_script: - cd frontend - npm ci --cache .npm --prefer-offline - only: - - tags - - development .be-node-job: - image: node:16-alpine - tags: - - shared + <<: *node-job cache: key: files: @@ -40,17 +41,18 @@ stages: before_script: - cd backend - npm ci --cache .npm --prefer-offline - only: - - tags - - development -fe-cache-node-job: +#==[ Frontent cache ]=========================================================== + +cache-fe-node-job: extends: .fe-node-job stage: setup script: - echo "Done!" -be-cache-node-job: +#==[ Backend cache ]============================================================ + +cache-be-node-job: extends: .be-node-job stage: setup script: @@ -58,51 +60,47 @@ be-cache-node-job: #==[ Frontend checks ]========================================================== -fe-format-node-job: +.check-fe-node-job: &check-fe-node-job extends: .fe-node-job stage: check needs: - - fe-cache-node-job + - cache-fe-node-job + +format-fe-node-job: + <<: *check-fe-node-job script: - npm run format:check -fe-lint-node-job: - extends: .fe-node-job - stage: check - needs: - - fe-cache-node-job +lint-fe-node-job: + <<: *check-fe-node-job script: - npm run lint:check -fe-test-node-job: - extends: .fe-node-job - stage: check - needs: - - fe-cache-node-job +test-fe-node-job: + <<: *check-fe-node-job script: - npm run test -be-format-node-job: +#==[ Backend checks ]=========================================================== + +.check-be-node-job: &check-be-node-job extends: .be-node-job stage: check needs: - - be-cache-node-job + - cache-be-node-job + +format-be-node-job: + <<: *check-be-node-job script: - npm run format:check -be-lint-node-job: - extends: .be-node-job - stage: check - needs: - - be-cache-node-job +lint-be-node-job: + <<: *check-be-node-job script: - npm run lint:check -be-test-node-job: - extends: .be-node-job - stage: check - needs: - - be-cache-node-job +test-be-node-job: + <<: *check-be-node-job script: - npm run test -- GitLab