1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- name: Ya-Build-and-Test
- on:
- workflow_call:
- inputs:
- build_target:
- type: string
- default: "ydb/"
- description: "limit build and test to specific target"
- build_preset:
- type: string
- runner_label:
- 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
- description: "run build"
- run_tests:
- type: boolean
- default: true
- description: "run tests"
- test_threads:
- type: string
- default: 56
- description: "Test threads count"
- link_threads:
- type: string
- default: 12
- description: "link threads count"
- test_size:
- type: string
- default: "small,medium,large"
- test_retry_count:
- type: string
- default: ""
- description: "how many times to retry failed tests"
- test_type:
- type: string
- default: ""
- folder_prefix:
- type: string
- default: "ya-"
- cache_tests:
- type: boolean
- default: false
- description: "Use cache for tests"
- put_build_results_to_cache:
- type: boolean
- default: true
- commit_sha:
- type: string
- default: ""
- defaults:
- run:
- shell: bash
- jobs:
- main:
- name: Build and test ${{ inputs.build_preset }}
- runs-on: [ self-hosted, "${{ inputs.runner_label }}", "${{ inputs.runner_additional_label || inputs.runner_label }}"]
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- ref: ${{ inputs.commit_sha }}
- - name: Setup ydb access
- uses: ./.github/actions/setup_ci_ydb_service_account_key_file_credentials
- with:
- ci_ydb_service_account_key_file_credentials: ${{ secrets.CI_YDB_SERVICE_ACCOUNT_KEY_FILE_CREDENTIALS }}
- - name: Build and test
- uses: ./.github/actions/build_and_test_ya
- with:
- build_preset: ${{ inputs.build_preset }}
- build_target: ${{ inputs.build_target }}
- increment: false
- run_tests: ${{ inputs.run_tests }}
- test_size: ${{ inputs.test_size }}
- test_type: ${{ inputs.test_type }}
- test_retry_count: ${{ inputs.test_retry_count }}
- test_threads: ${{ inputs.test_threads }}
- put_build_results_to_cache: ${{ inputs.put_build_results_to_cache }}
- secs: ${{ format('{{"TESTMO_TOKEN2":"{0}","AWS_KEY_ID":"{1}","AWS_KEY_VALUE":"{2}","REMOTE_CACHE_USERNAME":"{3}","REMOTE_CACHE_PASSWORD":"{4}"}}',
- secrets.TESTMO_TOKEN2, secrets.AWS_KEY_ID, secrets.AWS_KEY_VALUE, secrets.REMOTE_CACHE_USERNAME, secrets.REMOTE_CACHE_PASSWORD ) }}
- vars: ${{ format('{{"AWS_BUCKET":"{0}","AWS_ENDPOINT":"{1}","REMOTE_CACHE_URL":"{2}","TESTMO_URL":"{3}","TESTMO_PROJECT_ID":"{4}"}}',
- vars.AWS_BUCKET, vars.AWS_ENDPOINT, vars.REMOTE_CACHE_URL_YA, vars.TESTMO_URL, vars.TESTMO_PROJECT_ID ) }}
|