difftreelog
ci support astar/shiden in .env regenerator
in: master
1 file changed
tests/src/generateEnv.tsdiffbeforeafterboth13}13}141415function 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}182419// Fetch and format version string25// Fetch and format version string20async 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))),6162 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 => {