Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
build: transition to circle 2 and cache test fixtures in CI (googleap…
…is#634) PR-URL: googleapis#634 This change migrates Linux-based CI completely to CircleCI (2.0), and adds caching of `node_modules` (invalidated when either `package-lock.json` or `package.json` change) and `build/test/plugins/fixtures` (invalidated when `test/fixtures/plugin-fixtures.json` changes) to both CircleCI and AppVeyor. This results in a 5-8 min speedup for each test run across CircleCI and AppVeyor. #### `delete all plugin fixtures` - Removes all directories in [`test/plugins/fixtures`](https://github.com/GoogleCloudPlatform/cloud-trace-nodejs/tree/v2.4.0/test/plugins/fixtures) in favor of [`plugin-fixtures.json`](https://github.com/kjin/cloud-trace-nodejs/blob/circle-2/test/fixtures/plugin-fixtures.json) - This is beneficial because CIs generally invalidate caches when a certain file is changed. Coalescing all the information found in the plugin fixtures makes this a lot easier. #### `fix CI failures` - Fixes two CI failures introduced with: - Node v9 - TypeScript v??? #### `modify scripts` - Names exported functions in scripts rather than using `export default` - Removes some pre-requisite steps in npm scripts for atomicity - Adds `encrypt-service-account-credentials` script to regenerate encrypted system test credentials (for future use; this is meant to be used manually and infrequently) - Modifies `init-test-fixtures` script to generate plugin fixtures based off [`plugin-fixtures.json`](https://github.com/kjin/cloud-trace-nodejs/blob/circle-2/test/fixtures/plugin-fixtures.json) file - Adds `plugin-fixtures.json` - Changes code coverage reporter to codecov #### `update system test key file` - As Travis (rightfully) doesn't allow me to access encryption details for system test credentials, this commit is the result of running `encrypt-service-account-credentials` to regenerate a new encrypted key file (new encryption details have been added to CircleCI as env vars) #### `update CI configurations` - Deletes `.travis.yml` and `circle.yml` - Adds `.circleci/config.yml` (w/ caching) - Modifies `appveyor.yml` to add caching and change list of commands to run #### `update package-lock.json` - Self-explanatory
- Loading branch information