| Left: | ||
| Right: |
| 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" |
| 27 cache: | |
| 28 key: cache_$CI_COMMIT_SHA | |
| 29 paths: | |
| 30 - ./ | |
| 31 policy: push | |
| 32 | |
| 33 | 26 |
| 34 .test_template: &test_template | 27 .test_template: &test_template |
| 35 stage: test | 28 stage: test |
| 36 before_script: | 29 before_script: *dependencies |
| 37 - 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"
| |
| 38 - 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
| |
| 39 cache: | 30 cache: |
| 40 key: cache_$CI_COMMIT_SHA | 31 key: cache_$CI_COMMIT_SHA |
| 41 paths: | 32 paths: |
| 42 - ./ | 33 - ./ |
| 43 policy: pull | 34 policy: pull |
| 44 | 35 |
| 45 | 36 |
| 37 prepare-dependencies: | |
| 38 stage: prepare | |
| 39 script: *dependencies | |
| 40 cache: | |
| 41 key: cache_$CI_COMMIT_SHA | |
| 42 paths: | |
| 43 - ./ | |
| 44 policy: push | |
| 45 | |
| 46 tests:gecko: | 46 tests:gecko: |
| 47 <<: *test_template | 47 <<: *test_template |
| 48 script: | 48 script: |
| 49 - npm test -- -g gecko | 49 - npm run test-only -- -g gecko |
| 50 | 50 |
| 51 tests:chrome: | 51 tests:chrome: |
| 52 <<: *test_template | 52 <<: *test_template |
| 53 script: | 53 script: |
| 54 - xvfb-run npm test -- -g chrome | 54 - xvfb-run npm run test-only -- -g chrome |
| 55 | 55 |
| 56 lint: | 56 lint: |
| 57 <<: *test_template | 57 <<: *test_template |
| 58 script: | 58 script: |
| 59 - npm run lint | 59 - npm run lint |
| LEFT | RIGHT |