LEFT | RIGHT |
1 # This file is part of Adblock Plus <https://adblockplus.org/>, | 1 # This file is part of Adblock Plus <https://adblockplus.org/>, |
2 # Copyright (C) 2006-present eyeo GmbH | 2 # Copyright (C) 2006-present eyeo GmbH |
3 # | 3 # |
4 # Adblock Plus is free software: you can redistribute it and/or modify | 4 # Adblock Plus is free software: you can redistribute it and/or modify |
5 # it under the terms of the GNU General Public License version 3 as | 5 # it under the terms of the GNU General Public License version 3 as |
6 # published by the Free Software Foundation. | 6 # published by the Free Software Foundation. |
7 # | 7 # |
8 # Adblock Plus is distributed in the hope that it will be useful, | 8 # Adblock Plus is distributed in the hope that it will be useful, |
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of | 9 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 # GNU General Public License for more details. | 11 # GNU General Public License for more details. |
12 # | 12 # |
13 # You should have received a copy of the GNU General Public License | 13 # You should have received a copy of the GNU General Public License |
14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 14 # along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
15 | 15 |
16 stages: | 16 stages: |
17 - prepare | 17 - prepare |
18 - test | 18 - test |
19 | 19 |
20 prepare-dependencies: | 20 .dependencies: |
21 stage: prepare | 21 script: &dependencies |
22 script: | |
23 - mkdir -p .git/info | 22 - mkdir -p .git/info |
24 - pip install --user Jinja2 cryptography | 23 - pip install --user Jinja2 cryptography |
25 - python ensure_dependencies.py | 24 - python ensure_dependencies.py |
26 - npm install | 25 - "[ -d node_modules ] || npm install" |
| 26 |
| 27 .test_template: &test_template |
| 28 stage: test |
| 29 before_script: *dependencies |
| 30 cache: |
| 31 key: cache_$CI_COMMIT_SHA |
| 32 paths: |
| 33 - ./ |
| 34 policy: pull |
| 35 |
| 36 |
| 37 prepare-dependencies: |
| 38 stage: prepare |
| 39 script: *dependencies |
27 cache: | 40 cache: |
28 key: cache_$CI_COMMIT_SHA | 41 key: cache_$CI_COMMIT_SHA |
29 paths: | 42 paths: |
30 - ./ | 43 - ./ |
31 policy: push | 44 policy: push |
32 | 45 |
33 | |
34 .test_template: &test_template | |
35 stage: test | |
36 cache: | |
37 key: cache_$CI_COMMIT_SHA | |
38 paths: | |
39 - ./ | |
40 policy: pull | |
41 | |
42 tests:gecko: | 46 tests:gecko: |
43 <<: *test_template | 47 <<: *test_template |
44 script: | 48 script: |
45 - npm install | 49 - npm run test-only -- -g gecko |
46 - npm test -- -g gecko | |
47 | 50 |
48 tests:chrome: | 51 tests:chrome: |
49 <<: *test_template | 52 <<: *test_template |
50 script: | 53 script: |
51 - npm install | 54 - xvfb-run npm run test-only -- -g chrome |
52 - xvfb-run npm test -- -g chrome | 55 |
| 56 lint: |
| 57 <<: *test_template |
| 58 script: |
| 59 - npm run lint |
LEFT | RIGHT |