From 4d0c2809962f232d4b58102724c1d0676db95999 Mon Sep 17 00:00:00 2001 From: Hans Bergren Date: Wed, 5 Feb 2020 18:53:59 -0500 Subject: [PATCH] Upload coverage reports to Codecov (#92) * Add coverage badge to README --- packages/ripple-keypairs/.travis.yml | 15 ++--- packages/ripple-keypairs/README.md | 2 +- packages/ripple-keypairs/codecov.yml | 32 +++++++++++ packages/ripple-keypairs/nyc.config.js | 1 + packages/ripple-keypairs/package.json | 2 + packages/ripple-keypairs/yarn.lock | 79 +++++++++++++++++++++++++- 6 files changed, 121 insertions(+), 10 deletions(-) create mode 100644 packages/ripple-keypairs/codecov.yml diff --git a/packages/ripple-keypairs/.travis.yml b/packages/ripple-keypairs/.travis.yml index 47bd6ae3..a71bcead 100644 --- a/packages/ripple-keypairs/.travis.yml +++ b/packages/ripple-keypairs/.travis.yml @@ -1,10 +1,11 @@ language: node_js node_js: -- 8 -- 10 -- 12 -- 13 + - 8 + - 10 + - 12 + - 13 script: -- yarn compile -- yarn test -- yarn lint + - yarn compile + - yarn lint + - yarn test + - yarn coverage diff --git a/packages/ripple-keypairs/README.md b/packages/ripple-keypairs/README.md index 82eb196a..a1f05ded 100644 --- a/packages/ripple-keypairs/README.md +++ b/packages/ripple-keypairs/README.md @@ -1,4 +1,4 @@ -# ripple-keypairs [![NPM](https://img.shields.io/npm/v/ripple-keypairs.svg)](https://npmjs.org/package/ripple-keypairs) [![Build Status](https://img.shields.io/travis/ripple/ripple-keypairs/master.svg)](https://travis-ci.org/ripple/ripple-keypairs) +# ripple-keypairs [![NPM](https://img.shields.io/npm/v/ripple-keypairs.svg)](https://npmjs.org/package/ripple-keypairs) [![Build Status](https://img.shields.io/travis/ripple/ripple-keypairs/master.svg)](https://travis-ci.org/ripple/ripple-keypairs) ![Codecov](https://img.shields.io/codecov/c/github/ripple/ripple-keypairs) An implementation of XRP Ledger keypairs & wallet generation using [elliptic](https://github.com/indutny/elliptic) which supports rfc6979 and diff --git a/packages/ripple-keypairs/codecov.yml b/packages/ripple-keypairs/codecov.yml new file mode 100644 index 00000000..a203560b --- /dev/null +++ b/packages/ripple-keypairs/codecov.yml @@ -0,0 +1,32 @@ +coverage: + # How to display and round code coverage + precision: 2 + round: down + # Range of coverages to consider "green" + range: '95...100' + status: + # + project: + default: + # Target defines our target coverage number. 'auto' here would uses coverage from the base commit + target: 100% + # Threshold defines how much coverage is allowed to drop + threshold: 0% + # Measures how well the lines diffed in a PR are tested + patch: + default: + target: 100% + threshold: 0% + # Status will fail if no report for the head + if_not_found: failure + +# Configure the PR comments that Codecov leaves +comment: + # 'reach' is a coverage graph embedded + # 'diff' is the coverage diff of the PR + # 'files' are a list of files impacted by the PR + layout: 'diff, files' + # Delete old coverage comment and post new one on PR changes + behavior: new + # Only post a new comment if coverage changes + require_changes: true diff --git a/packages/ripple-keypairs/nyc.config.js b/packages/ripple-keypairs/nyc.config.js index 0d440403..0e6b3444 100644 --- a/packages/ripple-keypairs/nyc.config.js +++ b/packages/ripple-keypairs/nyc.config.js @@ -5,6 +5,7 @@ module.exports = { '**/*.d.ts', '*.js', 'test/**/*', + 'coverage/**/*', ], // Assert we remain at 100% code coverage diff --git a/packages/ripple-keypairs/package.json b/packages/ripple-keypairs/package.json index 64ef2bbf..c7f444ee 100644 --- a/packages/ripple-keypairs/package.json +++ b/packages/ripple-keypairs/package.json @@ -21,6 +21,7 @@ "@types/node": "^13.1.5", "@typescript-eslint/eslint-plugin": "^2.16.0", "@typescript-eslint/parser": "^2.16.0", + "codecov": "^3.6.2", "eslint": "^6.8.0", "eslint-config-airbnb-base": "^14.0.0", "eslint-config-airbnb-typescript": "^6.3.1", @@ -38,6 +39,7 @@ "scripts": { "compile": "tsc", "test": "tsc && nyc mocha", + "coverage": "nyc --reporter=lcov mocha && codecov", "lint": "eslint . --ext .ts --fix" }, "repository": { diff --git a/packages/ripple-keypairs/yarn.lock b/packages/ripple-keypairs/yarn.lock index bdbf38a4..40dfdb30 100644 --- a/packages/ripple-keypairs/yarn.lock +++ b/packages/ripple-keypairs/yarn.lock @@ -212,6 +212,13 @@ acorn@^7.1.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c" integrity sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ== +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== + dependencies: + es6-promisify "^5.0.0" + aggregate-error@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" @@ -304,6 +311,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argv@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= + array-includes@^3.0.3: version "3.1.1" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" @@ -475,6 +487,18 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +codecov@^3.6.2: + version "3.6.2" + resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.6.2.tgz#9503533d744233f6864f8f3ead9435d285ed3f47" + integrity sha512-i1VYZYY3M8Lodk/QRsIWYVimkuhl0oMSiM2itxbTbEIjB0PCSWP1cI7cscu5P0MayggoTl6I/jkXV2go8Ub8/Q== + dependencies: + argv "^0.0.2" + ignore-walk "^3.0.1" + js-yaml "^3.13.1" + teeny-request "^3.11.3" + urlgrey "^0.4.4" + validator "^12.1.0" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -557,7 +581,7 @@ cross-spawn@^7.0.0: shebang-command "^2.0.0" which "^2.0.1" -debug@3.2.6: +debug@3.2.6, debug@^3.1.0: version "3.2.6" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== @@ -688,6 +712,18 @@ es6-error@^4.0.1: resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -1149,6 +1185,14 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.0.tgz#71e87f931de3fe09e56661ab9a29aadec707b491" integrity sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig== +https-proxy-agent@^2.2.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" + integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== + dependencies: + agent-base "^4.3.0" + debug "^3.1.0" + iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -1156,6 +1200,13 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +ignore-walk@^3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + dependencies: + minimatch "^3.0.4" + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -1599,6 +1650,11 @@ node-environment-flags@1.0.6: object.getownpropertydescriptors "^2.0.3" semver "^5.7.0" +node-fetch@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" + integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== + node-preload@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" @@ -2281,6 +2337,15 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" +teeny-request@^3.11.3: + version "3.11.3" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-3.11.3.tgz#335c629f7645e5d6599362df2f3230c4cbc23a55" + integrity sha512-CKncqSF7sH6p4rzCgkb/z/Pcos5efl0DmolzvlqRQUNcpRIruOhY9+T1FsIlyEbfWd7MsFpodROOwHYh2BaXzw== + dependencies: + https-proxy-agent "^2.2.1" + node-fetch "^2.2.0" + uuid "^3.3.2" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -2373,7 +2438,12 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -uuid@^3.3.3: +urlgrey@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" + integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= + +uuid@^3.3.2, uuid@^3.3.3: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== @@ -2391,6 +2461,11 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" +validator@^12.1.0: + version "12.2.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-12.2.0.tgz#660d47e96267033fd070096c3b1a6f2db4380a0a" + integrity sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ== + which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"