diff options
author | nkozlovskiy <nmk@ydb.tech> | 2023-12-06 19:25:53 +0300 |
---|---|---|
committer | nkozlovskiy <nmk@ydb.tech> | 2023-12-06 21:52:54 +0300 |
commit | 2289a054c72274fd4d96313370a62b92da5758cd (patch) | |
tree | ec270da9e67e498c0b9ef0e9f452fed5c00c9ca6 /.github | |
parent | c05ebc290f4d21309d2735065c428bea6bcb7183 (diff) | |
download | ydb-2289a054c72274fd4d96313370a62b92da5758cd.tar.gz |
ci: add release-msan preset, add sanitizer builds in the nightly build
Diffstat (limited to '.github')
-rw-r--r-- | .github/actions/build_ya/action.yml | 5 | ||||
-rw-r--r-- | .github/actions/s3cmd/action.yml | 11 | ||||
-rw-r--r-- | .github/actions/test_ya/action.yml | 17 | ||||
-rw-r--r-- | .github/workflows/build_and_test_ya.yml | 6 | ||||
-rw-r--r-- | .github/workflows/build_and_test_ya_ondemand.yml | 3 | ||||
-rw-r--r-- | .github/workflows/build_and_test_ya_provisioned.yml | 15 | ||||
-rw-r--r-- | .github/workflows/nightly_run.yaml | 4 |
7 files changed, 37 insertions, 24 deletions
diff --git a/.github/actions/build_ya/action.yml b/.github/actions/build_ya/action.yml index 2583cef94e..799b1c7a71 100644 --- a/.github/actions/build_ya/action.yml +++ b/.github/actions/build_ya/action.yml @@ -71,6 +71,11 @@ runs: extra_params+=(--sanitize="thread") extra_params+=(-DSKIP_JUNK -DUSE_EAT_MY_DATA -DDEBUGINFO_LINES_ONLY) ;; + release-msan) + build_type=release + extra_params+=(--sanitize="memory") + extra_params+=(-DSKIP_JUNK -DUSE_EAT_MY_DATA -DDEBUGINFO_LINES_ONLY) + ;; *) echo "Invalid preset: ${{ inputs.build_preset }}" exit 1 diff --git a/.github/actions/s3cmd/action.yml b/.github/actions/s3cmd/action.yml index ab98660381..a503423ac6 100644 --- a/.github/actions/s3cmd/action.yml +++ b/.github/actions/s3cmd/action.yml @@ -38,17 +38,16 @@ runs: folder="${{ runner.arch == 'X64' && 'x86-64' || runner.arch == 'ARM64' && 'arm64' || 'unknown' }}" - case "${{ inputs.build_preset }}" in + BUILD_PRESET="${{ inputs.build_preset }}" + + case "$BUILD_PRESET" in relwithdebinfo) ;; debug) folder+="-debug" ;; - release-asan) - folder+="-asan" - ;; - release-tsan) - folder+="-tsan" + release-*) + folder+="-${BUILD_PRESET/release-/}" ;; *) echo "Invalid preset: ${{ inputs.build_preset }}" diff --git a/.github/actions/test_ya/action.yml b/.github/actions/test_ya/action.yml index ad6f23a401..f1c4b6b4db 100644 --- a/.github/actions/test_ya/action.yml +++ b/.github/actions/test_ya/action.yml @@ -87,16 +87,16 @@ runs: BRANCH_TAG="$GITHUB_REF_NAME" ARCH="${{ runner.arch == 'X64' && 'x86-64' || runner.arch == 'ARM64' && 'arm64' || 'unknown' }}" - - case "${{ inputs.build_preset }}" in + BUILD_PRESET="${{ inputs.build_preset }}" + case "$BUILD_PRESET" in relwithdebinfo) TESTMO_SOURCE="ya-${ARCH}" ;; - release-asan) - TESTMO_SOURCE="ya-${ARCH}-asan" + debug) + TESTMO_SOURCE="ya-${ARCH}-debug" ;; - release-tsan) - TESTMO_SOURCE="ya-${ARCH}-tsan" + release-*) + TESTMO_SOURCE="ya-${ARCH}-${BUILD_PRESET/release-/}" ;; *) echo "Invalid preset: ${{ inputs.build_preset }}" @@ -167,6 +167,11 @@ runs: extra_params+=(--sanitize="thread") extra_params+=(-DSKIP_JUNK -DUSE_EAT_MY_DATA -DDEBUGINFO_LINES_ONLY) ;; + release-msan) + build_type=release + extra_params+=(--sanitize="memory") + extra_params+=(-DSKIP_JUNK -DUSE_EAT_MY_DATA -DDEBUGINFO_LINES_ONLY) + ;; *) echo "Invalid preset: ${{ inputs.build_preset }}" exit 1 diff --git a/.github/workflows/build_and_test_ya.yml b/.github/workflows/build_and_test_ya.yml index e327b2118f..b29631e03b 100644 --- a/.github/workflows/build_and_test_ya.yml +++ b/.github/workflows/build_and_test_ya.yml @@ -13,6 +13,10 @@ on: type: string default: "linux" description: "runner label" + runner_additional_label: + type: string + default: "linux" + description: "additional runner label, can be empty" run_build: type: boolean default: true @@ -49,7 +53,7 @@ on: jobs: main: name: Build and test ${{ inputs.build_preset }} - runs-on: [ self-hosted, "${{ inputs.runner_label }}" ] + runs-on: [ self-hosted, "${{ inputs.runner_label }}", "${{ inputs.runner_additional_label || inputs.runner_label }}"] steps: - name: Checkout PR uses: actions/checkout@v3 diff --git a/.github/workflows/build_and_test_ya_ondemand.yml b/.github/workflows/build_and_test_ya_ondemand.yml index 5fafb20f6e..6957ff593f 100644 --- a/.github/workflows/build_and_test_ya_ondemand.yml +++ b/.github/workflows/build_and_test_ya_ondemand.yml @@ -20,6 +20,7 @@ on: - relwithdebinfo - release-asan - release-tsan + - release-msan test_size: type: choice default: "small,medium,large" @@ -144,7 +145,7 @@ jobs: test_type: ${{ inputs.test_type }} link_threads: ${{ inputs.link_threads }} test_threads: ${{ inputs.test_threads }} - put_build_results_to_cache: ${{ inputs.put_build_results_to_cache }} + put_build_results_to_cache: ${{ inputs.put_build_results_to_cache || true }} secrets: inherit release-runner: diff --git a/.github/workflows/build_and_test_ya_provisioned.yml b/.github/workflows/build_and_test_ya_provisioned.yml index cc0e39e2e9..19f117f369 100644 --- a/.github/workflows/build_and_test_ya_provisioned.yml +++ b/.github/workflows/build_and_test_ya_provisioned.yml @@ -16,6 +16,7 @@ on: - relwithdebinfo - release-asan - release-tsan + - release-msan test_size: type: choice default: "small,medium,large" @@ -52,10 +53,6 @@ on: type: string default: "auto-provisioned" description: "runner label" - cache_tests: - type: boolean - default: false - description: "Use cache for tests" workflow_call: inputs: build_target: @@ -87,10 +84,6 @@ on: runner_label: type: string default: "auto-provisioned" - cache_tests: - type: boolean - default: false - description: "Use cache for tests" put_build_results_to_cache: type: boolean default: true @@ -98,7 +91,10 @@ jobs: main: uses: ./.github/workflows/build_and_test_ya.yml with: + # FIXME: always use auto-provisioned here? runner_label: ${{ inputs.runner_label }} + # naive check for -asan, -tsan, -msan + runner_additional_label: ${{ contains(inputs.build_preset, '-') && format('build-preset-{0}', inputs.build_preset) || '' }} build_target: ${{ inputs.build_target }} build_preset: ${{ inputs.build_preset }} run_build: ${{ inputs.run_build }} @@ -107,6 +103,5 @@ jobs: test_type: ${{ inputs.test_type }} link_threads: ${{ inputs.link_threads }} test_threads: ${{ inputs.test_threads }} - cache_tests: ${{ inputs.cache_tests }} - put_build_results_to_cache: ${{ inputs.put_build_results_to_cache }} + put_build_results_to_cache: ${{ inputs.put_build_results_to_cache || true }} secrets: inherit diff --git a/.github/workflows/nightly_run.yaml b/.github/workflows/nightly_run.yaml index 1e66f0505f..15b3473239 100644 --- a/.github/workflows/nightly_run.yaml +++ b/.github/workflows/nightly_run.yaml @@ -39,8 +39,12 @@ jobs: name: Build/test x86_64 using YA uses: ./.github/workflows/build_and_test_ya_provisioned.yml secrets: inherit + strategy: + matrix: ${{ fromJSON(vars.NIGHTLY_YA_X64_MATRIX) }} + fail-fast: false with: runner_label: auto-provisioned + build_preset: ${{ matrix.build_preset }} build_target: ydb/ run_build: true run_tests: true |