From 6c148dcb3bdce9d42e866b21070bbeac2c81bcff Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Sat, 17 Oct 2020 16:55:43 +0200 Subject: [PATCH] Add ss58 output to issue (#721) --- .github/ss58-check.md | 2 +- .github/workflows/ss58-check.yml | 2 ++ packages/networks/src/checkNetworks.spec.ts | 27 +++++++++++++++------ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/.github/ss58-check.md b/.github/ss58-check.md index 75a28bc0b..6d674f026 100644 --- a/.github/ss58-check.md +++ b/.github/ss58-check.md @@ -4,4 +4,4 @@ labels: ci --- Discrepancies detected between https://github.com/paritytech/substrate/blob/master/ss58-registry.json and https://github.com/polkadot-js/common/blob/master/packages/networks/src/index.ts -Check the nightly cron output or run `yarn test:networks` locally +Check the nightly cron output or run `yarn test:networks` locally. The output as found from the test includes: diff --git a/.github/workflows/ss58-check.yml b/.github/workflows/ss58-check.yml index f821fec75..99409c3eb 100644 --- a/.github/workflows/ss58-check.yml +++ b/.github/workflows/ss58-check.yml @@ -9,6 +9,8 @@ jobs: steps: - uses: actions/checkout@v1 - name: check + env: + CI_LOG: 123 run: | yarn install --immutable | grep -v 'YN0013' yarn test:networks diff --git a/packages/networks/src/checkNetworks.spec.ts b/packages/networks/src/checkNetworks.spec.ts index 9d53fa374..8eda56146 100644 --- a/packages/networks/src/checkNetworks.spec.ts +++ b/packages/networks/src/checkNetworks.spec.ts @@ -3,11 +3,24 @@ import { Ss58Registry } from './types'; +import fs from 'fs'; import fetch from '@polkadot/x-fetch'; -import { assert } from '@polkadot/util'; import { all } from './'; +const OUTPUT = './.github/ss58-check.md'; + +function assertAndLog (check: boolean, error: string): void { + if (!check) { + process.env.CI_LOG && fs.appendFileSync(OUTPUT, ` + +${error} +`); + + throw new Error(error); + } +} + describe('check latest Substrate ss58 registry', (): void => { let original: Ss58Registry; @@ -18,23 +31,23 @@ describe('check latest Substrate ss58 registry', (): void => { }); it('has the same number as the original', (): void => { - expect(all.length).toEqual(original.registry.length); + assertAndLog(all.length === original.registry.length, `Number of entries mismatched:: Expected ${original.registry.length} found ${all.length}`); }); it('has no missing any entries', (): void => { const missing = original.registry .filter(({ prefix }) => !all.some((n) => n.prefix === prefix)) - .map(({ displayName, prefix }) => `${displayName} (${prefix})}`); + .map(({ displayName, prefix }) => `${displayName} (${prefix})`); - assert(!missing.length, `Missing entries found: ${missing.join(', ')}`); + assertAndLog(!missing.length, `Missing entries found: ${JSON.stringify(missing, null, 2)}`); }); it('has no extra entries', (): void => { const missing = all .filter(({ prefix }) => !original.registry.some((n) => n.prefix === prefix)) - .map(({ displayName, prefix }) => `${displayName} (${prefix})}`); + .map(({ displayName, prefix }) => `${displayName} (${prefix})`); - assert(!missing.length, `Extra entries found: ${missing.join(', ')}`); + assertAndLog(!missing.length, `Extra entries found: ${JSON.stringify(missing, null, 2)}`); }); it('has the same values as the original', (): void => { @@ -54,6 +67,6 @@ describe('check latest Substrate ss58 registry', (): void => { }) .filter(([, fields]) => fields.length); - assert(!errors.length, `Mismatches found: ${JSON.stringify(errors.map(([name, m]) => `${name} on ${m.join(', ')}`), null, 2)}`); + assertAndLog(!errors.length, `Mismatches found: ${JSON.stringify(errors.map(([name, m]) => `${name}:: ${m.join(', ')}`), null, 2)}`); }); });