Skip to content

Commit

Permalink
Merge pull request #3817 from apollographql/hwillson/infra-cleanup
Browse files Browse the repository at this point in the history
Overall infrastructure cleanup (CI, typescript config, bundling, shared config restructuring, test performance improvements, etc.).
  • Loading branch information
hwillson committed Aug 17, 2018
2 parents a9481d8 + aa5d083 commit e820595
Show file tree
Hide file tree
Showing 61 changed files with 52,800 additions and 1,197 deletions.
243 changes: 61 additions & 182 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,213 +3,99 @@ version: 2
jobs:
Danger:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
keys:
# When lock file changes, use increasingly general patterns to
# restore cache
- npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
- npm-v2-{{ .Branch }}-
- npm-v2-
- run: npm --version
- run: npm ci
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
key: npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ./node_modules
# This should cache the npm cache instead of node_modules, which is
# needed because npm ci actually removes node_modules before
# installing to guarantee a clean slate.
- ~/.npm
- run: npm run danger

Docs:
docker:
- image: circleci/node:8
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: cd docs && npm install
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run: cd docs && npm i && npm run build

Filesize:
docker:
- image: circleci/node:8
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run: npm run filesize

Typecheck:
docker:
- image: circleci/node:8
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run: npm run type-check

Apollo Client:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run:
name: Jest suite
command: npx lerna run --scope=apollo-client -- coverage -- --ci --testResultsProcessor=jest-junit && npm run coverage:upload
environment:
JEST_JUNIT_OUTPUT: "../../reports/junit/js-test-results.xml"
- store_test_results:
path: reports/junit
- store_artifacts:
path: reports/junit

Apollo Boost:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run:
name: Jest suite
command: npx lerna run --scope=apollo-boost -- coverage -- --ci --testResultsProcessor=jest-junit && npm run coverage:upload
environment:
JEST_JUNIT_OUTPUT: "../../reports/junit/js-test-results.xml"
- store_test_results:
path: reports/junit
- store_artifacts:
path: reports/junit

Apollo Cache:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
keys:
# When lock file changes, use increasingly general patterns to
# restore cache
- npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
- npm-v2-{{ .Branch }}-
- npm-v2-
- run: npm --version
- run: cd docs && npm ci
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
key: npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ./node_modules
- run:
name: Jest suite
command: npx lerna run --scope=apollo-cache -- coverage -- --ci --testResultsProcessor=jest-junit && npm run coverage:upload
environment:
JEST_JUNIT_OUTPUT: "../../reports/junit/js-test-results.xml"
- store_test_results:
path: reports/junit
- store_artifacts:
path: reports/junit
# This should cache the npm cache instead of node_modules, which is
# needed because npm ci actually removes node_modules before
# installing to guarantee a clean slate.
- ~/.npm
- run: cd docs && npm run build

Apollo InMemory Cache:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
paths:
- ./node_modules
- run:
name: Jest suite
command: npx lerna run --scope=apollo-cache-inmemory -- coverage -- --ci --testResultsProcessor=jest-junit && npm run coverage:upload
environment:
JEST_JUNIT_OUTPUT: "../../reports/junit/js-test-results.xml"
- store_test_results:
path: reports/junit
- store_artifacts:
path: reports/junit

Apollo Utilities:
Filesize:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
keys:
# When lock file changes, use increasingly general patterns to
# restore cache
- npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
- npm-v2-{{ .Branch }}-
- npm-v2-
- run: npm --version
- run: npm ci
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
key: npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ./node_modules
- run:
name: Jest suite
command: npx lerna run --scope=apollo-utilities -- coverage -- --ci --testResultsProcessor=jest-junit && npm run coverage:upload
environment:
JEST_JUNIT_OUTPUT: "../../reports/junit/js-test-results.xml"
- store_test_results:
path: reports/junit
- store_artifacts:
path: reports/junit
# This should cache the npm cache instead of node_modules, which is
# needed because npm ci actually removes node_modules before
# installing to guarantee a clean slate.
- ~/.npm
- run: npm run filesize

GraphQL Anywhere:
Apollo Client Monorepo:
docker:
- image: circleci/node:8
- image: circleci/node:10
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
- run:
name: install-npm
command: npm install
keys:
# When lock file changes, use increasingly general patterns to
# restore cache
- npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
- npm-v2-{{ .Branch }}-
- npm-v2-
- run: npm --version
- run: npm ci
- save_cache:
key: v1-dependency-cache-{{ checksum "package.json" }}
key: npm-v2-{{ .Branch }}-{{ checksum "package-lock.json" }}
paths:
- ./node_modules
# This should cache the npm cache instead of node_modules, which is
# needed because npm ci actually removes node_modules before
# installing to guarantee a clean slate.
- ~/.npm
- run:
name: Jest suite
command: npx lerna run --scope=graphql-anywhere -- coverage -- --ci --testResultsProcessor=jest-junit && npm run coverage:upload
name: Jest suite with coverage
command: npm run test-ci && npm run coverage:upload
environment:
JEST_JUNIT_OUTPUT: "../../reports/junit/js-test-results.xml"
JEST_JUNIT_OUTPUT: "reports/junit/js-test-results.xml"
- store_test_results:
path: reports/junit
- store_artifacts:
Expand All @@ -222,11 +108,4 @@ workflows:
- Danger
- Docs
- Filesize
# XXX fix issues and turn this back on
# - Typecheck
- Apollo Client
- Apollo Boost
- Apollo Cache
- Apollo InMemory Cache
- Apollo Utilities
- GraphQL Anywhere
- Apollo Client Monorepo
12 changes: 0 additions & 12 deletions .github/no-response.yml

This file was deleted.

4 changes: 0 additions & 4 deletions .github/probot-snooze.yml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/stale.yml

This file was deleted.

6 changes: 2 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,14 @@ npm
# alm editor
.alm

# yarn
yarn.lock

# npm
package-lock.json

# docs
db.json
docs.json
*.log
docs/public/*
!docs/public/_redirects
.idea/

junit.xml
13 changes: 13 additions & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
scripts
test
typings
.gitignore
.travis.yml
ambient.d.ts
CHANGELOG.md
design.md
Gruntfile.js
tsconfig.json
tslint.json
typings.json
config
17 changes: 0 additions & 17 deletions DESIGNS.md

This file was deleted.

2 changes: 1 addition & 1 deletion ISSUE_TRIAGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ We would love to have more contributors who are willing to help out with triagin

All issues follow the flow outlined below. Your job as an issue maintainer is to work with the requester and others within the community towards the goal of having an issue either become 'claimable' or closed. Read on for more details on the process.

![Flowchart](IssueTriageFlow.png "Issue Lifecycle")
![Flowchart](./docs/assets/IssueTriageFlow.png "Issue Lifecycle")

The first step is in determining whether the issue is a bug, help question or feature request. Read on for more details.

Expand Down
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2015 - 2016 Meteor Development Group, Inc.
Copyright (c) 2018 Meteor Development Group, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
Loading

0 comments on commit e820595

Please sign in to comment.