From 582f1bd85a1fdb3db12ef8ac1de026ffd14b67e8 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Mon, 24 May 2021 16:11:09 +0000
Subject: [PATCH] ci: reduce number of concurrent jobs in quality stage +
 remove prepare stage

---
 .gitlab-ci.yml | 46 ++++++++++++++++------------------------------
 1 file changed, 16 insertions(+), 30 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a23bbce268..ecbf586e55 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,27 +1,15 @@
 image: code.podlibre.org:5050/podlibre/castopod-host:latest
 
 stages:
-  - prepare
   - quality
   - bundle
   - release
 
 cache:
+  key: ${CI_COMMIT_REF_SLUG}
   paths:
     - vendor/
-    - node_modules/
-
-php-dependencies:
-  stage: prepare
-  script:
-    # Install all php dependencies
-    - composer install --prefer-dist --no-ansi --no-interaction --no-progress --ignore-platform-reqs
-
-js-dependencies:
-  stage: prepare
-  script:
-    # Install all npm dependencies
-    - npm install
+    - .npm/
 
 lint-commit-msg:
   stage: quality
@@ -30,39 +18,37 @@ lint-commit-msg:
     # lint commit message
     - ./scripts/lint-commit.sh
 
-tests:
-  stage: quality
-  script:
-    # run phpunit without code coverage
-    # TODO: add code coverage
-    - vendor/bin/phpunit --no-coverage
-
-code-style:
+lint-php:
   stage: quality
+  before_script:
+    # Install all php dependencies
+    - composer install --prefer-dist --no-ansi --no-interaction --no-progress --ignore-platform-reqs
   script:
     # check php code style
     - vendor/bin/ecs check --ansi
-
-static-analysis:
-  stage: quality
-  script:
     # phpstan - increase memory limit to 1GB to prevent script failure
     - php -d memory_limit=1G vendor/bin/phpstan analyse --ansi
-
-code-review:
-  stage: quality
-  script:
     # run rector to check for php errors
     - vendor/bin/rector process --dry-run --ansi
 
 lint-js:
   stage: quality
+  before_script:
+    # Install all npm dependencies
+    - npm ci --cache .npm --prefer-offline
   script:
     - npm run prettier
     - npm run typecheck
     - npm run eslint
     - npm run stylelint
 
+tests:
+  stage: quality
+  script:
+    # run phpunit without code coverage
+    # TODO: add code coverage
+    - vendor/bin/phpunit --no-coverage
+
 bundle:
   stage: bundle
   script:
-- 
GitLab