Skip to content

Commit

Permalink
v2.3.12 (#2)
Browse files Browse the repository at this point in the history
* refactor: move core-api repositories into core-database-* (ArkEcosystem#2107)

* feat: implement AIP29 (ArkEcosystem#2122)

* refactor(core-webhooks): replace sqlite3 with lowdb (ArkEcosystem#2124)

* fix(core-elasticsearch): build failure (ArkEcosystem#2127)

* test(core-database): add tests to blocks & transactions business repositories (ArkEcosystem#2147)

* perf(crypto): integrate bcrypto (ArkEcosystem#2158)

* feat(core-logger-pino): initial implementation (ArkEcosystem#2134)

* feat(core-api): search delegates by usernames (ArkEcosystem#2143)

* feat(crypto): increase vendor field length to 255 bytes (ArkEcosystem#2159)

* refactor: replace micromatch with nanomatch and remove heavy deps (ArkEcosystem#2165)

* refactor: replace micromatch with the more lightweight nanomatch

* fix(core-http-utils): remove non-existent deps

* fix(core-vote-report): add vision dependency

* Update create.ts

* refactor(crypto): benchmarks (ArkEcosystem#2167)

* chore: move core-graphql to the deprecated folder (ArkEcosystem#2169)

* test: initial restructure & split of unit and integration tests (ArkEcosystem#2172)

* refactor: replace dayjs-ext with dato (ArkEcosystem#2168)

* refactor: peg block timestamp to slot (ArkEcosystem#2176)

* chore: circleci update coverage directory (ArkEcosystem#2177)

* chore: remove extraneous jest presets and config (ArkEcosystem#2182)

* refactor(core-tester-cli): rewrite from scratch (ArkEcosystem#2133)

* refactor(crypto): de/serialization (ArkEcosystem#2175)

* refactor: move transaction logic out of crypto (ArkEcosystem#2188)

* feat(core-tester-cli): test the vendor field (ArkEcosystem#2189)

* feat(core-tester-cli): add the ability to send multiple waves (ArkEcosystem#2191)

* feat(core): add support for reinstalling the current version (ArkEcosystem#2192)

* feat(core): add support for forced updates (ArkEcosystem#2190)

* style: apply prettier formatting

* test(core-container): remove old test

* feat(core-api): more params for delegates search endpoint (ArkEcosystem#2184)

* fix(core-tester-cli): set crypto network for debug commands (ArkEcosystem#2204)

* feat(core-api): add active delegates endpoint (ArkEcosystem#2205)

* refactor: move transaction type specific logic into core-transactions (ArkEcosystem#2201)

* fix: vote balance update (develop) (ArkEcosystem#2211)

* refactor(core-blockchain): remove old fast rebuild code (ArkEcosystem#2210)

* refactor(core-blockchain): remove old fast rebuild cold

* refactor: remove dead rebuild code

* style: apply prettier formatting

* refactor(core-blockchain): remove queue wrapper

* test(core-blockchain): remove queue wrapper tests

* fix(core-blockchain): use async queue methods

* fix(core-blockchain): use async queue methods

* test(core-blockchain): remove dead test

* fix(core-blockchain): add method that disappeared

* fix(core-blockchain): add drain call

* refactor: drop more unused code

* fix: dispatch missing event after block download finished

* refactor: remove obsolete config workaround

* refactor: drop even more obsolete rebuild code

* refactor: cleanup leftovers

* revert "refactor: remove obsolete config workaround"

* refactor: purely rely on in-memory wallets based on transactions (ArkEcosystem#2209)

* refactor: purely rely on in-memory wallets based on transactions

* refactor: purely rely on in-memory wallets based on transactions

* fix(core-database-postgres): compare vote balance objects

* test: use wallet manager instead of database

* refactor(core-database): use no longer used properties

* test(core-blockchain): expect call without arguments

* fix: await integrity verifier results

* test(core-blockchain): do not pass any arguments to buildWallets

* test(core-database): remove shutdown assertion

* test(core-api): wallet manager reference

* refactor(core-database-postgres): remove extraneous object.values call

* style(core-database-postgres): naming

* Update integrity-verifier.ts

* refactor(core-database-postgres): make __ methods private

* Update integrity-verifier.ts

* refactor(core-database-postgres): remove missed blocks from integrity verifier

* test: remove integration setup & tests from unit tests (ArkEcosystem#2194)

* fix(core-tester-cli): Fix the description of debug:serialize

The string provided as an input is supposed to be JSON that is to be
serialized.

* feat(core): add restart flags to update command (ArkEcosystem#2218)

* chore: circleci restore caching + re-organize jobs for unit / integration tests (ArkEcosystem#2222)

* chore: bump versions

* chore: yarn.lock

* fix: resolve core-tester-utils conflicts and various errors

* chore: use yarn setup on CircleCI

* chore: update CircleCI config

* fix(core-tester-cli): Don't hide errors from HTTP failures (ArkEcosystem#2223)

Before this patch we would just get the following error, leaving one to
wonder what went wrong:

  [1552298227459] ERROR (core-tester-cli/40747 on smle): Cannot destructure property `data` of 'undefined' or 'null'.

After this patch:

  [1552299329734] ERROR (core-tester-cli/3408 on smle): http://localhost:4003/api/v2/node/configuration: connect ECONNREFUSED 127.0.0.1:4003
  [1552299329735] ERROR (core-tester-cli/3408 on smle): Cannot destructure property `data` of 'undefined' or 'null'.

* chore: update dependencies and remove unused imports (ArkEcosystem#2212)

* refactor: replace axios with got (ArkEcosystem#2203)

* feat(core-tester-cli): add make:block command (ArkEcosystem#2221)

* fix(core-api): properly sort semver versions (ArkEcosystem#2229)

* refactor(core-forger): always use latest available height (ArkEcosystem#2231)

* fix: keep old vendor field padding (ArkEcosystem#2233)

* fix: properly cast Buffer to hex string (ArkEcosystem#2232)

* feat(crypto): Switch block id to full SHA256 (ArkEcosystem#2156)

After some predetermined block height, blocks' ids would be generated as
full SHA256, encoded as a hex string.

Both Block.getIdHex() and Block.getId() return the full SHA256 hex
string after the predetermined height. It does not make any sense to
represent 256-bit numbers in decimal

* fix(crypto): Only use toBytesHex() for old block ids

Convert Block's idHex from id using toBytesHex() only if dealing with
old block ids (before the switch to full sha256 block id).

* test(core-forger): Extend tests with a block with full sha256 id (ArkEcosystem#2235)

The new fixture was generated using:

  yarn --cwd packages/core-tester-cli tester make:block --log --network=testnet --previousBlock='{ "height": 1000000000, "id": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "idHex": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }' --transactions=0

* refactor: move wallet class out of crypto (ArkEcosystem#2237)

* feat(core-database-postgres): transaction asset column (ArkEcosystem#2236)

* docs: less noise in the GitHub PR template (ArkEcosystem#2238)

* chore(core): Disable webhooks on testnet (ArkEcosystem#2239)

Webhooks are disabled on devnet and mainnet by default. Do the same with
testnet for consistency and because webhooks are broken and prevent
testnet from functioning:

$ yarn --cwd packages/core full:testnet
...
(node:44847) UnhandledPromiseRejectionWarning: TypeError: webhooks is not iterable
    at WebhookManager.getMatchingWebhooks (core/packages/core-webhooks/dist/manager.js:47:31)

* chore: add publish scripts for npm (ArkEcosystem#2240)

* chore: remove unused typedoc dependency (ArkEcosystem#2241)

* chore: setup linting for tests (ArkEcosystem#2242)

* chore: add update script for dependencies (ArkEcosystem#2244)

* chore: remove pretest and lint scripts from packages (ArkEcosystem#2243)

* fix(tests): Reference the home directory via HOME, not ~ (ArkEcosystem#2246)

"~" is expanded by the shell, if we use it in JavaScript it will end up
creating directories like "./packages/core-p2p/~/.core/"

Use HOME from the environment instead. If it is not set, then trying
"/.core/..." is fine.

* refactor: custom transaction types (ArkEcosystem#2247)

* fix(core-database): return array instead of joined string from applyOrder (ArkEcosystem#2245)

* chore: add publish script for the next channel (ArkEcosystem#2249)

* feat(core): support for the next channel (ArkEcosystem#2250)

* fix(core-webhooks): return an empty array if no webhooks exist for a given event (ArkEcosystem#2252)

* test(core-webhooks): unit test the database (ArkEcosystem#2253)

* docs: initial 2.3.0 changelog (ArkEcosystem#2255)

* chore: remove packages from codecov ignore list (ArkEcosystem#2256)

* refactor: remove missed blocks and productivity (ArkEcosystem#2257)

* fix(core-utils): handle NSect edge case (ArkEcosystem#2259)

If the search range is narrowed too much then the condition
"if (low + this.nAry >= high) {" would catch it and return. But it could
happen that we still have neighboring elements and that condition is not
true.

Check whether the probe declared that the highest match is at some
height and if we have probed the next height - the fact that the next
height was not declared a match, implicitly means that it is not a
match. And if we have two neighboring heights, the lower one a match and
the higher one not, then we don't need to search further and have the
final result.

* fix(core-blockchain): handle unhandled event (ArkEcosystem#2260)

* feat(core-logger-pino): set different log levels for console and file (ArkEcosystem#2261)

* fix: remove voter balances endpoint

* docs: fix broken references to plugins docs (ArkEcosystem#2264)

* chore: bump to 2.2.2

* chore: changelog

* chore: update readme files with all contributors and fix banners (ArkEcosystem#2266)

* chore: add missing oclif dependency (ArkEcosystem#2267)

* fix(core-snapshots): remove wallets, add asset handling (ArkEcosystem#2269)

* fix(core-logger-pino): crash on rotate, use compression (ArkEcosystem#2270)

* fix(core-p2p): pass all opts to httpie instead of just headers (ArkEcosystem#2271)

* chore: add missing dependencies (ArkEcosystem#2272)

* build(docker): remove core source and add channel support (ArkEcosystem#2274)

* build(docker): clean the yarn cache after the installation (ArkEcosystem#2275)

* misc(crypto): Update devnet blockid milestone (ArkEcosystem#2277)

Height 1895000 at Mon Mar 25 16:56:22 CET 2019

* Merge branch 'master' into develop (ArkEcosystem#2278)

* fix(core-logger-pino): prettify filestream (ArkEcosystem#2280)

* fix(core-database-postgres): asset migration on mainnet (ArkEcosystem#2281)

* chore: import lodash functions from function packages instead of the full lodash (ArkEcosystem#2285)

* release: 2.3.0-next.0 (ArkEcosystem#2286)

* feat(core-error-tracker-rollbar): initial implementation (ArkEcosystem#2287)

* feat(core-error-tracker-raygun): initial implementation (ArkEcosystem#2288)

* feat(core-error-tracker-airbrake): initial implementation (ArkEcosystem#2289)

* chore: move winston to maintained packages (ArkEcosystem#2291)

* chore: remove extraneous .gitattributes entries (ArkEcosystem#2292)

* refactor: drop the git commit hash identifier (ArkEcosystem#2293)

* chore(core-p2p): raise the minimum version to 2.3.0 (ArkEcosystem#2294)

* fix(core-database-postgres): support PG9.5 for asset column migration (ArkEcosystem#2295)

* release: 2.3.0-next.1 (ArkEcosystem#2296)

* fix(core-database): sort transactions by timestamp:desc by default (ArkEcosystem#2298)

* fix(core-snapshots): always load core-database-postgres (ArkEcosystem#2302)

* feat(core-snapshots): rollback by a given amount of blocks (ArkEcosystem#2300)

* refactor(core-snapshots): make core the only codec for reliability (ArkEcosystem#2301)

* refactor: replace any with proper types (ArkEcosystem#2276)

* fix(core-snapshots): serialize correct timestamp, dont corrupt buffers (ArkEcosystem#2304)

* fix(core-database): write block timestamp as transaction timestamp (ArkEcosystem#2305)

* fix(core-api): adjust schema validation of blocks show (ArkEcosystem#2306)

* refactor: use kebab case for aliases (ArkEcosystem#2283)

* feat(core-new-relic): initial implementation (ArkEcosystem#2290)

* perf(crypto): skip transaction verification overhead (ArkEcosystem#2307)

* fix(core): read the correct property for the new CLI version (ArkEcosystem#2309)

* fix(core-database-postgres): add EQ operator to block height (ArkEcosystem#2313)

* build(docker): create symbolic link for ark bin (ArkEcosystem#2312)

* fix(crypto): add signSignature to schema (ArkEcosystem#2315)

* fix(core-p2p): support common blocks with sha256 ids (ArkEcosystem#2317)

* fix(core-p2p): always refresh peer status (ArkEcosystem#2318)

* fix(core-database): map block to transaction in findById (ArkEcosystem#2316)

* feat(core-database-postgres): support IN operator for block id, height and generator (ArkEcosystem#2319)

* refactor(core-p2p): remove the remote interface (ArkEcosystem#2311)

* refactor(core): use nsfw for log watching instead of node-tail (ArkEcosystem#2310)

* refactor(core-snapshots): remove dead code (ArkEcosystem#2308)

* release: 2.3.0-next.2 (ArkEcosystem#2320)

* fix(crypto): check if block contains exceptions (ArkEcosystem#2323)

* fix(core-database-postgres): shutdown when integrity check fails (ArkEcosystem#2324)

* fix(core): preserve existing logs and attach the last line when the log is modified (ArkEcosystem#2322)

* perf(core-api): transaction transformer (ArkEcosystem#2327)

* fix(core-p2p): two-way ban (ArkEcosystem#2325)

* feat: add more block and transaction pool events (ArkEcosystem#2321)

* fix: accept already accepted peers (ArkEcosystem#2328)

* fix(core-database-postgres): run the asset migration before starting the record migration (ArkEcosystem#2332)

* chore: install node.js 11 now that it is stable (ArkEcosystem#2330)

* fix: use the maxTransactionsPerRequest configuration for API validation (ArkEcosystem#2331)

* fix(core-event-emitter): ensure the event listener won’t exceed the max listener count (ArkEcosystem#2329)

* fix(core-p2p): sort heights in getNetworkHeight as numbers (ArkEcosystem#2334)

* release: 2.3.0-next.3 (ArkEcosystem#2336)

* feat(core-database): add function to search a block by id or height (ArkEcosystem#2337)

* refactor(core-database-postgres): add findByHeight to avoid confusion with the misleading findByHeights (ArkEcosystem#2338)

* test(functional): broadcast and forge all transaction types (ArkEcosystem#2333)

* refactor(core-database): use a raw query to get a block by height (ArkEcosystem#2339)

* chore(ci): explicitly name integration test jobs (ArkEcosystem#2340)

* fix(core-database): search a block ID if there is no height match (ArkEcosystem#2342)

* feat(core-logger-signale): initial implementation (ArkEcosystem#2343)

* chore(ci): remove the postgres setup from unit test jobs (ArkEcosystem#2345)

* refactor(core-database): clearly separate manager and factory behaviour (ArkEcosystem#2346)

* refactor(core-forger): memory leak, log spam, cleanup (ArkEcosystem#2341)

* refactor: replace various any with types and simpler interface naming (ArkEcosystem#2348)

* refactor(core-transaction-pool): clearly separate manager and factory behaviour (ArkEcosystem#2347)

* refactor(core-event-emitter): expose all application events through an enum (ArkEcosystem#2349)

* refactor: reduce duplication in all logger packages (ArkEcosystem#2344)

* refactor: replace various any with types, property visibility and interface naming (ArkEcosystem#2352)

* fix(core-blockchain): initialize active delegates on startup (ArkEcosystem#2353)

* release: 2.3.0-next.4 (ArkEcosystem#2354)

* test: add TransactionFactory and RestClient test helpers (ArkEcosystem#2355)

* fix(crypto): use calculated id for exception check (ArkEcosystem#2356)

* refactor(core-api): remove active delegates endpoint (ArkEcosystem#2357)

* refactor(core-database): round logic (ArkEcosystem#2358)

* fix(core-p2p): frequent peer timeout errors (ArkEcosystem#2363)

* fix(core-p2p): remove ping timeout ban (ArkEcosystem#2366)

* release: 2.3.0-next.5 (ArkEcosystem#2367)

* docs: 2.3.0 changelog (ArkEcosystem#2372)

* docs: mention webhook recreation in changelog for 2.3.0

* fix: cope with dynamic round sizes (ArkEcosystem#2370)

* fix(core-logger-pino): initial rotation (ArkEcosystem#2380)

* fix(core-tester-cli): init config manager from network preset (ArkEcosystem#2384)

* refactor(core-container): pass suffix to container (ArkEcosystem#2387)

* feat(core-api): return slip44 and wif via node/configuration (ArkEcosystem#2388)

* fix(core): pass cli flags correctly (ArkEcosystem#2389)

* chore(crypto): bump vendorFieldLength and blockid milestone heights (ArkEcosystem#2395)

Due to 2.3 release re-schedule:

Height 8128000 at Thu Apr 25 12:05:22 UTC 2019 (assuming no block misses)
Height 8128000 at Thu Apr 25 12:37:13 UTC 2019 (assuming block misses as in the last 30000 blocks)

Height 8204000 at Thu May  2 12:58:42 UTC 2019 (assuming no block misses)
Height 8204000 at Thu May  2 13:45:25 UTC 2019 (assuming block misses as in the last 30000 blocks)

* feat(core-event-emitter): add off method (ArkEcosystem#2396)

* chore: use ARK as prefix for everything (ArkEcosystem#2397)

* fix(crypto): validate address is on network (ArkEcosystem#2394)

* fix(core-database): handle unknown transaction search (ArkEcosystem#2404)

* release: 2.3.0-next.6 (ArkEcosystem#2406)

* fix: prevent wallet managers from indexing/creating ghost wallets (ArkEcosystem#2405)

* fix(core-database): wrong delegate order after start up (ArkEcosystem#2431)

* docs: 2.3.0 changelog (ArkEcosystem#2435)

* docs: 2.3.0 changelog

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* release: 2.3.0 (ArkEcosystem#2452)

* fix(core-transaction-pool): refuse transactions from senders with pending second signature registrations (ArkEcosystem#2458)

* fix(crypto): deserialize type > 0 with vendor field instead of skipping it (ArkEcosystem#2459)

* release: 2.3.1 (ArkEcosystem#2460)

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* Persona Core

* fix(core-snapshots): use correct genesis block instead of hardcoding devnet (ArkEcosystem#2462)

* fix(core): don't pass suffix flag to bip38 and bip39 command (ArkEcosystem#2464)

* release: 2.3.12 (ArkEcosystem#2465)

* chore: fix absolute banner urls (ArkEcosystem#2469)

* docs(template): add release section to pull request template (ArkEcosystem#2472)

* Persona Core

* Persona Core

* fix(crypto): add exceptions for transactions with invalid recipients (ArkEcosystem#2471)

* refactor(core): remove support for old release channels (ArkEcosystem#2476)

* release: 2.3.14 (ArkEcosystem#2477)

* release: 2.3.15 (ArkEcosystem#2478)
  • Loading branch information
geopsllc authored and remus-persona committed Apr 25, 2019
1 parent f271747 commit b418684
Show file tree
Hide file tree
Showing 1,044 changed files with 28,156 additions and 47,760 deletions.
660 changes: 452 additions & 208 deletions .circleci/config.yml

Large diffs are not rendered by default.

346 changes: 339 additions & 7 deletions .circleci/configTemplate.json
@@ -1,7 +1,339 @@
{
"version": 2,
"jobs": {
"test-node10-0": {
"test-node10-unit": {
"working_directory": "~/core",
"docker": [
{
"image": "circleci/node:10-browsers"
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel",
"command": "sudo apt-get install -q xsel"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-unit"
}
},
{
"run": {
"name": "Install and build packages",
"command": "yarn setup"
}
},
{
"save_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-unit",
"paths": []
}
},
{
"run": {
"name": "Create .core/database directory",
"command": "mkdir -p $HOME/.core/database"
}
},
{
"run": {
"name": "Unit tests",
"command": "cd ~/core && yarn test:unit:coverage --coverageDirectory .coverage/unit/ --maxWorkers=2"
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Lint",
"command": "yarn lint"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
}
]
},
"test-node11-unit": {
"working_directory": "~/core",
"docker": [
{
"image": "circleci/node:11-browsers"
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel",
"command": "sudo apt-get install -q xsel"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node11-{{ checksum \"checksum.txt\" }}-unit"
}
},
{
"run": {
"name": "Install and build packages",
"command": "yarn setup"
}
},
{
"save_cache": {
"key": "core-node11-{{ checksum \"checksum.txt\" }}-unit",
"paths": []
}
},
{
"run": {
"name": "Create .core/database directory",
"command": "mkdir -p $HOME/.core/database"
}
},
{
"run": {
"name": "Unit tests",
"command": "cd ~/core && yarn test:unit:coverage --coverageDirectory .coverage/unit/ --maxWorkers=2"
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Lint",
"command": "yarn lint"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
}
]
},
"test-node10-functional": {
"working_directory": "~/core",
"environment": {
"CORE_DB_DATABASE": "core_unitnet",
"CORE_DB_USERNAME": "core"
},
"docker": [
{
"image": "circleci/node:10-browsers"
},
{
"image": "postgres:alpine",
"environment": {
"POSTGRES_PASSWORD": "password",
"POSTGRES_DB": "core_unitnet",
"POSTGRES_USER": "core"
}
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel & postgresql-client",
"command": "sudo apt-get install -q xsel postgresql-client"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-functional"
}
},
{
"run": {
"name": "Install and build packages",
"command": "yarn setup"
}
},
{
"save_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-functional",
"paths": []
}
},
{
"run": {
"name": "Create .core/database directory",
"command": "mkdir -p $HOME/.core/database"
}
},
{
"run": {
"name": "Functional tests",
"command": "cd ~/core && yarn test:functional:coverage --coverageDirectory .coverage/functional/"
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Lint",
"command": "yarn lint"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
}
]
},
"test-node11-functional": {
"working_directory": "~/core",
"environment": {
"CORE_DB_DATABASE": "core_unitnet",
"CORE_DB_USERNAME": "core"
},
"docker": [
{
"image": "circleci/node:11-browsers"
},
{
"image": "postgres:alpine",
"environment": {
"POSTGRES_PASSWORD": "password",
"POSTGRES_DB": "core_unitnet",
"POSTGRES_USER": "core"
}
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel & postgresql-client",
"command": "sudo apt-get install -q xsel postgresql-client"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node11-{{ checksum \"checksum.txt\" }}-functional"
}
},
{
"run": {
"name": "Install and build packages",
"command": "yarn setup"
}
},
{
"save_cache": {
"key": "core-node11-{{ checksum \"checksum.txt\" }}-functional",
"paths": []
}
},
{
"run": {
"name": "Create .core/database directory",
"command": "mkdir -p $HOME/.core/database"
}
},
{
"run": {
"name": "Functional tests",
"command": "cd ~/core && yarn test:functional:coverage --coverageDirectory .coverage/functional/"
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Lint",
"command": "yarn lint"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
}
]
},
"test-node10-integration-0": {
"working_directory": "~/core",
"environment": {
"CORE_DB_DATABASE": "core_unitnet",
Expand Down Expand Up @@ -65,8 +397,8 @@
},
{
"run": {
"name": "Test",
"command": ""
"name": "Unit tests",
"command": "cd ~/core && yarn test:unit:coverage --coverageDirectory .coverage/unit/ --maxWorkers=2"
}
},
{
Expand All @@ -90,7 +422,7 @@
}
]
},
"test-node11-0": {
"test-node11-integration-0": {
"working_directory": "~/core",
"environment": {
"CORE_DB_DATABASE": "core_unitnet",
Expand Down Expand Up @@ -154,8 +486,8 @@
},
{
"run": {
"name": "Test",
"command": ""
"name": "Unit tests",
"command": "cd ~/core && yarn test:unit:coverage --coverageDirectory .coverage/unit/ --maxWorkers=2"
}
},
{
Expand Down Expand Up @@ -183,7 +515,7 @@
"workflows": {
"version": 2,
"build_and_test": {
"jobs": []
"jobs": ["test-node10-integration-0", "test-node11-integration-0"]
}
}
}

0 comments on commit b418684

Please sign in to comment.