From 313646336c82fd54b610b99368c6260696dd28ba Mon Sep 17 00:00:00 2001 From: 4eb0da <4eb0da@yandex-team.com> Date: Thu, 27 Oct 2022 14:03:34 +0300 Subject: [PATCH] TypeScript JsonBuilder ci update --- json-builder/typescript/ci/checks.js | 66 +++++++++++++++++----------- json-builder/typescript/ci/tests.sh | 20 +++++++++ json-builder/typescript/package.json | 2 +- 3 files changed, 61 insertions(+), 27 deletions(-) create mode 100644 json-builder/typescript/ci/tests.sh diff --git a/json-builder/typescript/ci/checks.js b/json-builder/typescript/ci/checks.js index f1c826663..888d5deed 100644 --- a/json-builder/typescript/ci/checks.js +++ b/json-builder/typescript/ci/checks.js @@ -2,6 +2,17 @@ const { Graph } = require('@yandex-int/tkit'); +const useSelectivity = !process.argv.includes('--skipSelectivity') && !process.env.SKIP_SELECTIVITY; +const projectPrefix = 'public/json-builder/typescript'; + +function prepareSelectivity(list) { + if (useSelectivity) { + return list; + } + + return undefined; +} + const graph = new Graph({ repo: {}, failOnStepFailure: false, @@ -9,50 +20,53 @@ const graph = new Graph({ hideIntermediate: true, stopOnUpdate: false }); + const treeConfig = { - 'check:ts': null, - 'check:eslint': null, - 'check:prettier': null, - 'test:unit': null + 'ts-jsonbuilder:check:ts': null, + 'ts-jsonbuilder:check:eslint': null, + 'ts-jsonbuilder:check:prettier': null, + 'ts-jsonbuilder:test:unit': null }; const steps = { - 'check:ts': [ + 'ts-jsonbuilder:check:ts': [ 'npx tsc --noEmit', { - files: [ - 'tsconfig.json', - '**.ts', - 'package.json' - ] + files: prepareSelectivity([ + `${projectPrefix}/tsconfig.json`, + `${projectPrefix}/**/*.ts`, + `${projectPrefix}/package.json`, + 'public/schema/**' + ]) } ], - 'check:eslint': [ + 'ts-jsonbuilder:check:eslint': [ 'npx eslint "src/**/*.ts" "test/**/*.ts"', { - files: [ - '**.js', - '**.ts', - '.eslintrc.json' - ] + files: prepareSelectivity([ + `${projectPrefix}/**/*.js`, + `${projectPrefix}/**/*.ts`, + `${projectPrefix}/.eslintrc.json` + ]) } ], - 'check:prettier': [ + 'ts-jsonbuilder:check:prettier': [ 'npx prettier --check "src/**/*.ts" "test/**/*.ts"', { - files: [ - '**.js', - '**.ts' - ] + files: prepareSelectivity([ + `${projectPrefix}/**/*.js`, + `${projectPrefix}/**/*.ts` + ]) } ], - 'test:unit': [ + 'ts-jsonbuilder:test:unit': [ 'npx jest', { - files: [ - '**.ts', - '**.snap' - ] + files: prepareSelectivity([ + `${projectPrefix}/**/*.ts`, + `${projectPrefix}/**/*.snap`, + 'public/schema/**' + ]) } ] }; diff --git a/json-builder/typescript/ci/tests.sh b/json-builder/typescript/ci/tests.sh new file mode 100644 index 000000000..bd43f24c7 --- /dev/null +++ b/json-builder/typescript/ci/tests.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -ex + +echo "node `node -v`" +echo "npm `npm -v`" +python3 --version + +export PYTHONPATH=/home/zomb-sandbox/client:$PYTHONPATH + +export checkout_config="{ + \"commit\": \"$TARGET_REVISION_HASH\", + \"type\": \"arc\", + \"mount_path\": \"$RESULT_RESOURCES_PATH/arc_mount\" + }" + +npm ci +cd ci && npm ci && cd - +npm run gen +node ci/checks.js diff --git a/json-builder/typescript/package.json b/json-builder/typescript/package.json index f7c841550..6e3a0f79c 100644 --- a/json-builder/typescript/package.json +++ b/json-builder/typescript/package.json @@ -1,6 +1,6 @@ { "name": "@divkitframework/jsonbuilder", - "version": "1.5.0", + "version": "13.0.0", "description": "DivKit TypeScript JSON Builder", "main": "./dist/jsonbuilder.js", "module": "./dist/es/jsonbuilder.js",