Index: .gitlab-ci.yml |
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml |
index 4109a810e68940c367cffb763069bc325ebf23d2..ad5dac2b21606028eccc31d31a7bdb49a3f783e4 100644 |
--- a/.gitlab-ci.yml |
+++ b/.gitlab-ci.yml |
@@ -14,12 +14,46 @@ |
# along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
stages: |
- - test_ext |
+ - prepare |
+ - test |
-qunit:gecko: |
- stage: test_ext |
+prepare-dependencies: |
+ stage: prepare |
script: |
- mkdir -p .git/info |
- pip install --user Jinja2 cryptography |
+ - python ensure_dependencies.py |
- npm install |
- - npm test |
+ cache: |
+ key: cache_$CI_COMMIT_SHA |
+ paths: |
+ - ./ |
+ policy: push |
+ |
+ |
+.test_template: &test_template |
+ stage: test |
+ before_script: |
+ - python ensure_dependencies.py |
Sebastian Noack
2018/09/03 19:37:35
FWIW, the lint job below doesn't require ensure_de
tlucas
2018/09/03 21:35:53
We'd need to copy this whole template into "lint"
|
+ - npm install |
Sebastian Noack
2018/09/03 19:37:35
Perhaps we can check if node_modules already exist
tlucas
2018/09/03 21:35:53
I was thinking about "what if node_modules was cre
|
+ cache: |
+ key: cache_$CI_COMMIT_SHA |
+ paths: |
+ - ./ |
+ policy: pull |
+ |
+ |
+tests:gecko: |
+ <<: *test_template |
+ script: |
+ - npm test -- -g gecko |
+ |
+tests:chrome: |
+ <<: *test_template |
+ script: |
+ - xvfb-run npm test -- -g chrome |
+ |
+lint: |
+ <<: *test_template |
+ script: |
+ - npm run lint |