git.delta.rocks / unique-network / refs/commits / 3defb533db02

difftreelog

Readyness check script moved to tests sub-directory

Alexander Aksenov2022-08-04parent: #46f00bd.patch.diff
in: master

3 files changed

deleted.docker/readyness.jsdiffbeforeafterboth

no changes

modified.github/workflows/node_build_test.ymldiffbeforeafterboth
--- a/.github/workflows/node_build_test.yml
+++ b/.github/workflows/node_build_test.yml
@@ -88,12 +88,12 @@
 
       - name: Run tests
         run: |
+          cd tests
           yarn install
-          yarn add @polkadot/api @polkadot/util@9.4.1 mochawesome mocha@>=7
+          yarn add @polkadot/api mochawesome
           yarn --pure-lockfile
           echo "Ready to start tests"
-          node .docker/readyness.js
-          cd tests
+          node scripts/readyness.js
           NOW=$(date +%s) && yarn test --reporter mochawesome --reporter-options reportFilename=test-${NOW}
         env:
           RPC_URL: http://127.0.0.1:9933/
addedtests/scripts/readyness.jsdiffbeforeafterboth
--- /dev/null
+++ b/tests/scripts/readyness.js
@@ -0,0 +1,35 @@
+const { ApiPromise, WsProvider } = require('@polkadot/api');
+
+const connect = async () => {
+  const wsEndpoint = 'ws://127.0.0.1:9944'
+  const api = new ApiPromise({provider: new WsProvider(wsEndpoint)});
+  await api.isReadyOrError;
+
+  const head = (await api.rpc.chain.getHeader()).number.toNumber();
+  if(head < 1) throw Error('No block #1');
+
+  await api.disconnect();
+}
+
+const sleep = time => {
+    return new Promise(resolve => {
+        setTimeout(() => resolve(), time);
+    });
+}
+
+const main = async () => {
+  while(true) {
+    try {
+      await connect();
+      break;
+    }
+    catch(e) {
+      await sleep(60000);
+    }
+  }
+}
+
+main().then(() => process.exit(0)).catch(e => {
+  console.error(e);
+  process.exit(1);
+});