test262/.circleci/config.yml

182 lines
5.2 KiB
YAML
Raw Normal View History

# Javascript Node CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-javascript/ for more details
#
version: 2
references:
js_deps_cache_key: &js_deps_cache_key
v1-dependency-js-deps-{{ checksum "package.json" }}
js_deps_backup_cache_key: &js_deps_backup_cache_key
v1-dependency-js-deps
node_latest: &node_latest
circleci/node:11
restore_cache: &restore_cache
restore_cache:
keys:
- *js_deps_cache_key
- *js_deps_backup_cache_key
save_cache: &save_cache
save_cache:
paths:
- node_modules
key: *js_deps_cache_key
2019-03-25 17:02:26 +01:00
execution_steps: &execution_steps
steps:
- checkout
- *restore_cache
- run: npm install
- *save_cache
2019-09-24 19:48:08 +02:00
- run:
name: fetch engines from jsvu
command: |
./node_modules/.bin/jsvu --os=linux64 --engines=$hostName
cp -r ~/.jsvu r
2019-04-24 18:17:18 +02:00
- run: npm run ci
jobs:
"Project lint, generation tests and build":
docker:
- image: circleci/python:2.7
working_directory: ~/test262
steps:
- checkout
- run:
name: "Install requirements for generation tool"
command: python -m pip install --user --requirement tools/generation/requirements.txt
- run:
name: "Install requirements for linter tool"
command: python -m pip install --user --requirement tools/lint/requirements.txt
- run:
name: "Test the generation tool"
command: ./tools/generation/test/run.py
- run:
name: "Test the lint tool"
command: ./tools/lint/test/run.py
- run:
name: "Re-generate files and check for new changes"
command: ./tools/scripts/ci_build.sh
- run:
name: "Run the linter"
command: ./tools/scripts/ci_lint.sh
# - run:
# name: "Run deploy"
# command: ./tools/scripts/deploy.sh
"Project lint and generation unit tests on Python 3":
docker:
- image: circleci/python:3.7.4
working_directory: ~/test262
steps:
- checkout
- run:
name: "Install requirements for generation tool"
command: python -m pip install --user --requirement tools/generation/requirements.txt
- run:
name: "Install requirements for linter tool"
command: python -m pip install --user --requirement tools/lint/requirements.txt
- run:
name: "Test the generation tool"
command: ./tools/generation/test/run.py
- run:
name: "Test the lint tool"
command: ./tools/lint/test/run.py
"V8: New or modified tests execution":
docker:
- image: *node_latest
# Specify service dependencies here if necessary
# CircleCI maintains a library of pre-built images
# documented at https://circleci.com/docs/2.0/circleci-images/
working_directory: ~/test262
environment:
hostType: d8
2019-03-26 17:19:15 +01:00
hostPath: r/engines/v8/v8
hostName: v8
2019-03-25 17:02:26 +01:00
<<: [*execution_steps]
"V8 --harmony: New or modified tests execution":
docker:
- image: *node_latest
working_directory: ~/test262
environment:
hostType: d8
2019-03-26 17:19:15 +01:00
hostPath: r/engines/v8/v8
hostName: v8
hostArgs: --harmony
2019-03-25 17:02:26 +01:00
<<: [*execution_steps]
"SpiderMonkey: New or modified tests execution":
docker:
- image: *node_latest
working_directory: ~/test262
environment:
hostType: jsshell
hostPath: r/spidermonkey
hostName: spidermonkey
2019-03-25 17:02:26 +01:00
<<: [*execution_steps]
"ChakraCore: New or modified tests execution":
docker:
- image: *node_latest
working_directory: ~/test262
environment:
hostType: ch
2019-03-26 17:19:15 +01:00
hostPath: r/engines/chakra/chakra
hostName: chakra
2019-03-25 17:02:26 +01:00
<<: [*execution_steps]
"JSC: New or modified tests execution":
docker:
- image: *node_latest
working_directory: ~/test262
environment:
2019-09-24 19:48:08 +02:00
LANG: C
hostType: jsc
hostPath: r/javascriptcore
hostName: javascriptcore
2019-03-25 17:02:26 +01:00
<<: [*execution_steps]
"XS: New or modified tests execution":
docker:
- image: *node_latest
working_directory: ~/test262
environment:
2019-03-25 17:02:26 +01:00
hostType: xs
2019-03-26 17:19:15 +01:00
hostPath: r/engines/xs/xs
2019-03-25 17:02:26 +01:00
hostName: xs
<<: [*execution_steps]
2019-11-29 22:49:44 +01:00
"engine262: New or modified tests execution":
docker:
- image: *node_latest
working_directory: ~/test262
environment:
hostType: engine262
hostPath: engine262/bin/engine262.js
hostName: engine262
hostArgs: --features=all
steps:
- checkout
- *restore_cache
- run: npm install
- *save_cache
- run:
name: fetch engine262
command: |
git clone https://github.com/engine262/engine262
cd engine262
npm install
npm run build
- run: npm run ci
workflows:
version: 2
Tools:
jobs:
- "Project lint, generation tests and build"
- "Project lint and generation unit tests on Python 3"
Tests execution:
jobs:
- "ChakraCore: New or modified tests execution"
- "JSC: New or modified tests execution"
- "SpiderMonkey: New or modified tests execution"
- "V8: New or modified tests execution"
- "V8 --harmony: New or modified tests execution"
2019-03-25 17:02:26 +01:00
- "XS: New or modified tests execution"
2019-11-29 22:49:44 +01:00
- "engine262: New or modified tests execution"