diff options
author | nkozlovskiy <nmk@ydb.tech> | 2023-11-30 16:13:36 +0300 |
---|---|---|
committer | nkozlovskiy <nmk@ydb.tech> | 2023-11-30 19:25:54 +0300 |
commit | a2ef245835ecb4880a921e9436706ba222e84fe8 (patch) | |
tree | ce60c2bb6069155f477598ff1ec3d014f43ede55 | |
parent | 6a76fc604efe91ed69af5345c66c2ed45fd4c757 (diff) | |
download | ydb-a2ef245835ecb4880a921e9436706ba222e84fe8.tar.gz |
ci: use auto-provisioned runner for all workflows
-rw-r--r-- | .github/workflows/build_and_test_provisioned.yml | 2 | ||||
-rw-r--r-- | .github/workflows/build_and_test_ya.yml | 6 | ||||
-rw-r--r-- | .github/workflows/build_and_test_ya_ondemand.yml | 1 | ||||
-rw-r--r-- | .github/workflows/build_and_test_ya_provisioned.yml | 6 | ||||
-rw-r--r-- | .github/workflows/docker_publish.yml | 58 | ||||
-rw-r--r-- | .github/workflows/nightly_run.yaml | 16 | ||||
-rw-r--r-- | .github/workflows/pr_check.yml | 2 | ||||
-rw-r--r-- | .github/workflows/prewarm-ccache.yml | 57 |
8 files changed, 16 insertions, 132 deletions
diff --git a/.github/workflows/build_and_test_provisioned.yml b/.github/workflows/build_and_test_provisioned.yml index 922087cdfe..aaa726708e 100644 --- a/.github/workflows/build_and_test_provisioned.yml +++ b/.github/workflows/build_and_test_provisioned.yml @@ -51,7 +51,7 @@ on: jobs: main: name: Build and test - runs-on: [ self-hosted, Provisioned, "${{ inputs.runner_label }}" ] + runs-on: [ self-hosted, "${{ inputs.runner_label }}" ] steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/build_and_test_ya.yml b/.github/workflows/build_and_test_ya.yml index 907385e6b7..1129069eaf 100644 --- a/.github/workflows/build_and_test_ya.yml +++ b/.github/workflows/build_and_test_ya.yml @@ -9,10 +9,6 @@ on: description: "limit build and test to specific target" build_preset: type: string - runner_kind: - type: string - required: true - description: "self-hosted or provisioned" runner_label: type: string default: "linux" @@ -50,7 +46,7 @@ on: jobs: main: name: Build and test ${{ inputs.build_preset }} - runs-on: [ self-hosted, "${{ inputs.runner_kind }}", "${{ inputs.runner_label }}" ] + runs-on: [ self-hosted, "${{ 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 2126be0976..b604ece142 100644 --- a/.github/workflows/build_and_test_ya_ondemand.yml +++ b/.github/workflows/build_and_test_ya_ondemand.yml @@ -132,7 +132,6 @@ jobs: - provide-runner - prepare-vm with: - runner_kind: self-hosted runner_label: ${{ needs.provide-runner.outputs.label }} build_target: ${{ inputs.build_target }} build_preset: ${{ inputs.build_preset }} diff --git a/.github/workflows/build_and_test_ya_provisioned.yml b/.github/workflows/build_and_test_ya_provisioned.yml index 422724da34..3a72d369ab 100644 --- a/.github/workflows/build_and_test_ya_provisioned.yml +++ b/.github/workflows/build_and_test_ya_provisioned.yml @@ -50,7 +50,7 @@ on: description: "link threads count" runner_label: type: string - default: "ya-make" + default: "auto-provisioned" description: "runner label" cache_tests: type: boolean @@ -86,17 +86,15 @@ on: description: "link threads count" runner_label: type: string - default: "ya-make" + default: "auto-provisioned" cache_tests: type: boolean default: false description: "Use cache for tests" - jobs: main: uses: ./.github/workflows/build_and_test_ya.yml with: - runner_kind: provisioned runner_label: ${{ inputs.runner_label }} build_target: ${{ inputs.build_target }} build_preset: ${{ inputs.build_preset }} diff --git a/.github/workflows/docker_publish.yml b/.github/workflows/docker_publish.yml index e42441b2d4..7e509f23aa 100644 --- a/.github/workflows/docker_publish.yml +++ b/.github/workflows/docker_publish.yml @@ -22,47 +22,8 @@ on: description: "Git branch/tag revision to builld local_ydb" jobs: - provide-runner: - name: Start self-hosted YC runner - timeout-minutes: 5 - runs-on: ubuntu-latest - outputs: - label: ${{steps.start-yc-runner.outputs.label}} - instance-id: ${{steps.start-yc-runner.outputs.instance-id}} - steps: - - name: Start YC runner - id: start-yc-runner - uses: yc-actions/yc-github-runner@v1 - with: - mode: start - yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} - github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - folder-id: ${{secrets.YC_FOLDER}} - image-id: fd8earpjmhevh8h6ug5o # TODO: create constant - disk-size: ${{vars.DISK_SIZE && vars.DISK_SIZE || '1023GB'}} - disk-type: network-ssd-nonreplicated - cores: 32 - memory: 64GB - core-fraction: 100 - zone-id: ru-central1-b - subnet-id: ${{secrets.YC_SUBNET}} - - prepare-vm: - name: Prepare runner - needs: provide-runner - runs-on: [ self-hosted, "${{ needs.provide-runner.outputs.label }}" ] - steps: - - name: install docker - shell: bash - run: | - apt-get update - apt-get install -y --no-install-recommends docker.io - build: - needs: - - provide-runner - - prepare-vm - runs-on: "${{ needs.provide-runner.outputs.label }}" + runs-on: [self-hosted, auto-provisioned] steps: - name: Checkout .github and local_ydb uses: actions/checkout@v4 @@ -123,20 +84,3 @@ jobs: cache-to: type=s3,name=local_ydb,region=ru-central1,bucket=${{ vars.AWS_BUCKET }},endpoint_url=${{ vars.AWS_ENDPOINT }},access_key_id=${{ secrets.AWS_KEY_ID }},secret_access_key=${{ secrets.AWS_KEY_VALUE }},mode=max secrets: | "ccache_remote_storage=${{ vars.REMOTE_CACHE_URL && format('http://{0}{1}', secrets.REMOTE_CACHE_AUTH, vars.REMOTE_CACHE_URL) || ''}}" - - release-runner: - name: Release self-hosted YC runner if provided on-demand - needs: - - provide-runner - - build - runs-on: ubuntu-latest - if: always() - steps: - - name: Stop YC runner - uses: yc-actions/yc-github-runner@v1 - with: - mode: stop - yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} - github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - label: ${{ needs.provide-runner.outputs.label }} - instance-id: ${{ needs.provide-runner.outputs.instance-id }} diff --git a/.github/workflows/nightly_run.yaml b/.github/workflows/nightly_run.yaml index 5570844040..1e66f0505f 100644 --- a/.github/workflows/nightly_run.yaml +++ b/.github/workflows/nightly_run.yaml @@ -9,22 +9,23 @@ on: type: string jobs: - build_ondemand: + cmake_x86_64: name: Build/test x86_64 strategy: - matrix: ${{ fromJSON(vars.NIGHTLY_ONDEMAND_MATRIX) }} + matrix: ${{ fromJSON(vars.NIGHTLY_CMAKE_X64_MATRIX) }} fail-fast: false - uses: ./.github/workflows/build_and_test_ondemand.yml + uses: ./.github/workflows/build_and_test_provisioned.yml with: + runner_label: auto-provisioned sanitizer: ${{matrix.sanitizer}} test_label_regexp: ${{inputs.test_label_regexp}} secrets: inherit - build_provisioned: + cmake_arm64: name: Build/test ARM64 strategy: - matrix: ${{ fromJSON(vars.NIGHTLY_PROVISIONED_MATRIX) }} + matrix: ${{ fromJSON(vars.NIGHTLY_CMAKE_ARM64_MATRIX) }} fail-fast: false uses: ./.github/workflows/build_and_test_provisioned.yml with: @@ -34,11 +35,12 @@ jobs: test_label_regexp: ${{inputs.test_label_regexp}} secrets: inherit - build_ya_make: + ya_x86_64: name: Build/test x86_64 using YA - uses: ./.github/workflows/build_and_test_ya_ondemand.yml + uses: ./.github/workflows/build_and_test_ya_provisioned.yml secrets: inherit with: + runner_label: auto-provisioned build_target: ydb/ run_build: true run_tests: true diff --git a/.github/workflows/pr_check.yml b/.github/workflows/pr_check.yml index 1ce18a8f08..e13d956d4d 100644 --- a/.github/workflows/pr_check.yml +++ b/.github/workflows/pr_check.yml @@ -110,6 +110,6 @@ jobs: test_size: "small,medium" test_type: "unittest,py3test,py2test,pytest" test_threads: 52 - runner_label: ya-make + runner_label: auto-provisioned cache_tests: true secrets: inherit diff --git a/.github/workflows/prewarm-ccache.yml b/.github/workflows/prewarm-ccache.yml index 8dc2228d98..193e948976 100644 --- a/.github/workflows/prewarm-ccache.yml +++ b/.github/workflows/prewarm-ccache.yml @@ -5,49 +5,10 @@ on: workflow_dispatch: jobs: - provide-runner: - name: Start self-hosted YC runner - timeout-minutes: 5 - runs-on: ubuntu-latest - outputs: - label: ${{ steps.start-yc-runner.outputs.label }} - instance-id: ${{ steps.start-yc-runner.outputs.instance-id }} - steps: - - name: Start YC runner - id: start-yc-runner - uses: yc-actions/yc-github-runner@v1 - with: - mode: start - yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} - github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - folder-id: ${{ secrets.YC_FOLDER }} - image-id: fd8earpjmhevh8h6ug5o # TODO: create constant - disk-size: ${{ vars.DISK_SIZE && vars.DISK_SIZE || '279GB' }} - disk-type: network-ssd-nonreplicated - cores: 32 - memory: 64GB - core-fraction: 100 - zone-id: ru-central1-b - subnet-id: ${{ secrets.YC_SUBNET }} - - prepare-vm: - name: Prepare runner - needs: provide-runner - runs-on: "${{ needs.provide-runner.outputs.label }}" - steps: - - name: install docker - run: | - apt-get update - apt-get install -y --no-install-recommends docker.io build: - needs: - - provide-runner - - prepare-vm - runs-on: "${{ needs.provide-runner.outputs.label }}" -# runs-on: linux + runs-on: [self-hosted, auto-provisioned] strategy: fail-fast: false - max-parallel: 1 matrix: version: ["ubuntu-2204", "ubuntu-2004", "ubuntu-1804"] steps: @@ -67,19 +28,3 @@ jobs: env: IMG: runner-${{ matrix.version }} CCACHE_REMOTE_STORAGE: ${{ vars.REMOTE_CACHE_URL && format('http://{0}{1}', secrets.REMOTE_CACHE_AUTH, vars.REMOTE_CACHE_URL) || ''}} - release-runner: - name: Release self-hosted YC runner if provided on-demand - needs: - - provide-runner - - build - runs-on: ubuntu-latest - if: always() - steps: - - name: Stop YC runner - uses: yc-actions/yc-github-runner@v1 - with: - mode: stop - yc-sa-json-credentials: ${{ secrets.YC_SA_JSON_CREDENTIALS }} - github-token: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }} - label: ${{ needs.provide-runner.outputs.label }} - instance-id: ${{ needs.provide-runner.outputs.instance-id }} |