git.delta.rocks / unique-network / refs/commits / ee2218e7f135

difftreelog

ci support astar/shiden in .env regenerator

Yaroslav Bolyukin2023-04-06parent: #63434ce.patch.diff
in: master

1 file changed

modifiedtests/src/generateEnv.tsdiffbeforeafterboth
13}13}
1414
15function setVar(env: string, key: string, value: string): string {15function setVar(env: string, key: string, value: string): string {
16 let found = false;
16 return env.replace(new RegExp(`${key}=.+?\n`), `${key}=${value}\n`);17 const newEnv = env.replace(new RegExp(`${key}=.+?\n`), () => {
18 found = true;
19 return `${key}=${value}\n`;
20 });
21 if (!found) throw new Error(`env key "${key}" is not found`);
22 return newEnv;
17}23}
1824
19// Fetch and format version string25// Fetch and format version string
20async function ff(url: string, regex: RegExp, rep: string): Promise<string> {26async function ff(url: string, regex: RegExp, rep: string | ((substring: string, ...params:any[]) => string)): Promise<string> {
21 const ver = await fetchVersion(url);27 const ver = await fetchVersion(url);
22 if (ver.match(regex) === null)28 if (ver.match(regex) === null)
23 throw new Error(`bad regex for ${url}`);29 throw new Error(`bad regex for ${url}`);
24 return ver.replace(regex, rep);30 return ver.replace(regex, rep as any);
25}31}
26function fixupUnique(version: string): string {32function fixupUnique(version: string): string {
27 if (version === 'release-v930033')33 if (version === 'release-v930033')
53 ff('wss://ws-eastend.unique.network/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'UNIQUEEAST_MAINNET_BRANCH', v)),59 ff('wss://ws-eastend.unique.network/', /^(.)(..)(.)$/, 'release-v0.$1.$2').then(v => env = setVar(env, 'UNIQUEEAST_MAINNET_BRANCH', v)),
54 ff('wss://ws-sapphire.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'SAPPHIRE_MAINNET_BRANCH', fixupUnique(v))),60 ff('wss://ws-sapphire.unique.network/', /^(......)$/, 'release-v$1').then(v => env = setVar(env, 'SAPPHIRE_MAINNET_BRANCH', fixupUnique(v))),
61
62 ff('wss://rpc.astar.network/', /^(.+)$/, (_, r) => {
63 switch (r) {
64 case '55': return 'v5.3.0';
65 default: throw new Error('unknown astar branch for runtime ' + r);
66 }
67 }).then(v => env = setVar(env, 'ASTAR_BUILD_BRANCH', v)),
68 ff('wss://shiden.api.onfinality.io/public-ws', /^(.+)$/, (_, r) => {
69 switch (r) {
70 case '90': return 'v4.49.0';
71 default: throw new Error('unknown shiden branch for runtime ' + r);
72 }
73 }).then(v => env = setVar(env, 'SHIDEN_BUILD_BRANCH', v)),
55 ]);74 ]);
56 console.log(env);75 console.log(env);
57})().catch(e => {76})().catch(e => {