prepack/.circleci/config.yml
Sebastian Markbage 54be9b535c Re-land typed descriptors and printer (#2511)
Summary:
Release notes: landing two previously reverted PRs

I found the issue.

Flow doesn't support optional fields in classes. This effectively becomes enforced with Babel 7 since it treats the type annotations as field initializers. Which means that these fields always gets created.

We happened to only use this newer plugin for class fields internally which broke our builds only there.

2b4546d Use `undefined` instead of missing to represent absent field in descriptors. Fixed all the callsites that checks for `hasOwnProperty` or `in` that I could find.

922d40c Fixes a Flow issue in the text printer.

I filed a [follow up issue for ObjectValue](https://github.com/facebook/prepack/issues/2510) since it has the same problem.
Pull Request resolved: https://github.com/facebook/prepack/pull/2511

Reviewed By: trueadm

Differential Revision: D9569949

Pulled By: sebmarkbage

fbshipit-source-id: f8bf84c4385de4f0ff6bcd45badacd3b8c88c533
2018-08-31 05:54:23 -07:00

96 lines
2.5 KiB
YAML

workflows:
version: 2
main:
jobs:
- build
- run-tests-1:
requires:
- build
- run-tests-2:
requires:
- build
- run-checks:
requires:
- build
version: 2
jobs:
build:
docker:
- image: circleci/node:8.9.4
steps:
- checkout
- run:
name: "Checkout Submodules & Prep"
command: |
git submodule sync
git submodule update --init # use submodules
echo "export PATH=${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin" >> $BASH_ENV
- restore_cache:
keys:
- yarn-v1--{{ .Branch }}--{{ checksum "yarn.lock" }}
- run:
name: "Install Dependencies"
command: yarn install --frozen-lockfile # make sure that lockfile is up-to-date
- save_cache:
key: yarn-v1--{{ .Branch }}--{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
- run:
name: "Build Assets"
command: |
yarn build
yarn build-scripts
- persist_to_workspace:
root: /home/circleci
paths:
- project
run-tests-1:
docker:
- image: circleci/node:8.9.4
steps:
- attach_workspace:
at: /home/circleci
- run:
name: "Run Tests"
command: |
mkdir ~/artifacts
yarn test-react
yarn test-sourcemaps
yarn test-std-in
yarn test-test262 --expectedCounts 11944,5641,0 --statusFile ~/artifacts/test262-status.txt --timeout 140 --cpuScale 0.25 --verbose
#yarn test-test262-new --statusFile ~/artifacts/test262-new-status.txt --timeout 120 --verbose
- store_artifacts:
path: ~/artifacts/
run-tests-2:
docker:
- image: circleci/node:8.9.4
steps:
- attach_workspace:
at: /home/circleci
- run:
name: "Run Tests"
command: |
mkdir ~/artifacts
yarn test-serializer-with-coverage
mv coverage/lcov-report ~/artifacts/coverage-report
mv coverage-sourcemapped ~/artifacts/coverage-report-sourcemapped
- store_artifacts:
path: ~/artifacts/
run-checks:
docker:
- image: circleci/node:8.9.4
steps:
- attach_workspace:
at: /home/circleci
- run:
name: "Run Checks"
command: |
yarn prettier-ci
yarn lint
yarn flow-ci
yarn depcheck