mirror of https://github.com/tc39/test262.git
185 lines
5.4 KiB
YAML
185 lines
5.4 KiB
YAML
# 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:lts
|
|
|
|
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
|
|
|
|
execution_steps: &execution_steps
|
|
steps:
|
|
- checkout
|
|
- *restore_cache
|
|
- run: npm install
|
|
- *save_cache
|
|
- run:
|
|
name: fetch engines from esvu
|
|
command: |
|
|
./node_modules/.bin/esvu install $hostName
|
|
- run: hostPath=$HOME/.esvu/bin/$hostPath npm run ci
|
|
|
|
jobs:
|
|
"Test262: verify tools; build & lint tests (Python 2)":
|
|
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 lint 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: "Build tests; check for new changes"
|
|
command: ./tools/scripts/ci_build.sh
|
|
- run:
|
|
name: "Lint tests"
|
|
command: ./tools/scripts/ci_lint.sh
|
|
# - run:
|
|
# name: "Run deploy"
|
|
# command: ./tools/scripts/deploy.sh
|
|
"Test262: verify tools; build & lint tests (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 lint 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: "Build tests; check for new changes"
|
|
command: ./tools/scripts/ci_build.sh
|
|
- run:
|
|
name: "Lint tests"
|
|
command: ./tools/scripts/ci_lint.sh
|
|
"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
|
|
hostPath: v8
|
|
hostName: v8
|
|
<<: [*execution_steps]
|
|
"V8 --harmony: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
hostType: d8
|
|
hostPath: v8
|
|
hostName: v8
|
|
hostArgs: --harmony
|
|
<<: [*execution_steps]
|
|
"SpiderMonkey: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
hostType: jsshell
|
|
hostPath: spidermonkey
|
|
hostName: spidermonkey
|
|
<<: [*execution_steps]
|
|
"ChakraCore: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
hostType: ch
|
|
hostPath: chakra
|
|
hostName: chakra
|
|
<<: [*execution_steps]
|
|
"JSC: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
LANG: C
|
|
hostType: jsc
|
|
hostPath: javascriptcore
|
|
hostName: javascriptcore
|
|
<<: [*execution_steps]
|
|
"XS: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
hostType: xs
|
|
hostPath: xs
|
|
hostName: xs
|
|
<<: [*execution_steps]
|
|
"engine262: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
hostType: engine262
|
|
hostPath: engine262
|
|
hostName: engine262
|
|
hostArgs: --features=all
|
|
<<: [*execution_steps]
|
|
"GraalJS: New or modified tests execution":
|
|
docker:
|
|
- image: *node_latest
|
|
working_directory: ~/test262
|
|
environment:
|
|
hostType: graaljs
|
|
hostPath: graaljs
|
|
hostName: graaljs
|
|
<<: [*execution_steps]
|
|
workflows:
|
|
version: 2
|
|
Tools:
|
|
jobs:
|
|
- "Test262: verify tools; build & lint tests (Python 2)"
|
|
- "Test262: verify tools; build & lint tests (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"
|
|
- "XS: New or modified tests execution"
|
|
- "engine262: New or modified tests execution"
|
|
- "GraalJS: New or modified tests execution"
|