mirror of
https://github.com/vale981/apollo-server
synced 2025-03-14 23:06:40 -04:00

* Initial revision * Ensure dist directory exists * Add envrc for direnv users. * protobufjs is a runtime dependency * 0.0.0-beta.2 * update reports.proto with FullTracesReport * 0.0.0-beta.3 * depend on @types/long * 0.0.0-beta.4 * instead, do not use long * 0.0.0-beta.5 * Add Details.variablesJson * 0.0.0-beta.6 * comment-only update to new field * 0.0.0-beta.7 * update a-e-reporting readme to reflect production ready state * update changelog the engine reporting * reporting-protobuf: prepare -> prepublish
94 lines
3 KiB
YAML
94 lines
3 KiB
YAML
version: 2
|
|
#
|
|
# Reusable Snippets!
|
|
#
|
|
# These are re-used by the various tests below, to avoid repetition.
|
|
#
|
|
run_install_desired_npm: &run_install_desired_npm
|
|
run:
|
|
# Due to a bug, npm upgrades from the version of npm that ships with
|
|
# Node.js 6 (npm v3.10.10) go poorly and generally cause other problems
|
|
# within the environment. Since `yarn` is already available here we can
|
|
# use that to work-around the issue. It's possible that `npm` artifact
|
|
# jockeying might avoid this need, but this can be removed once Node 6 is
|
|
# no longer being built below.
|
|
name: Install npm@5, but with yarn.
|
|
command: sudo yarn global add npm@5
|
|
|
|
# These are the steps used for each version of Node which we're testing
|
|
# against. Thanks to YAMLs inability to merge arrays (though it is able
|
|
# to merge objects), every version of Node must use the exact same steps,
|
|
# or these steps would need to be repeated in a version of Node that needs
|
|
# something different. Probably best to avoid that, out of principle, though.
|
|
common_test_steps: &common_test_steps
|
|
steps:
|
|
# Install the latest npm, rather than using the versions which ship
|
|
# in older versions of Node.js This allows for a more consistent
|
|
# installation, and typically users of older Node versions at least
|
|
# update their npm to the latest.
|
|
- *run_install_desired_npm
|
|
|
|
- checkout
|
|
|
|
# Build a cache key which will bust with Node.js ABI and version changes.
|
|
- run: |
|
|
node -p process.config | tee .cache_key
|
|
node -p process.versions | tee -a .cache_key
|
|
cat package-lock.json | tee -a .cache_key
|
|
|
|
- restore_cache:
|
|
keys:
|
|
- v1-dependencies-{{ checksum ".cache_key" }}
|
|
|
|
- run: node --version
|
|
|
|
- run: npm --version
|
|
|
|
- run: npm install
|
|
|
|
- save_cache:
|
|
paths:
|
|
- node_modules
|
|
key: v1-dependencies-{{ checksum ".cache_key" }}
|
|
|
|
# test with coverage.
|
|
- run: npm run circle
|
|
|
|
|
|
jobs:
|
|
# Platform tests, each with the same tests but different platform or version.
|
|
# The docker tag represents the Node.js version and the full list is available
|
|
# at https://hub.docker.com/r/circleci/node/.
|
|
Node.js 4:
|
|
docker: [ { image: 'circleci/node:4' } ]
|
|
<<: *common_test_steps
|
|
|
|
Node.js 6:
|
|
docker: [ { image: 'circleci/node:6' } ]
|
|
<<: *common_test_steps
|
|
|
|
Node.js 8:
|
|
docker: [ { image: 'circleci/node:8' } ]
|
|
<<: *common_test_steps
|
|
|
|
Node.js 10:
|
|
docker: [ { image: 'circleci/node:10' } ]
|
|
<<: *common_test_steps
|
|
|
|
# Linting can run on the latest Node, which already has the latest `npm` and
|
|
# doesn't warrant run_install_desired_npm (which is more critical above)
|
|
Linting:
|
|
docker: [ { image: 'circleci/node:8' } ]
|
|
steps:
|
|
# (speed) Intentionally omitted (unnecessary) run_install_desired_npm.
|
|
- checkout
|
|
- run: npm install
|
|
- run: npm run lint
|
|
|
|
workflows:
|
|
version: 2
|
|
Build and Test:
|
|
jobs:
|
|
# There isn't any non-generated code in this package now, so we only
|
|
# bother to run one test job and no linting.
|
|
- Node.js 10
|