aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornkozlovskiy <nmk@ydb.tech>2023-11-30 16:13:36 +0300
committernkozlovskiy <nmk@ydb.tech>2023-11-30 19:25:54 +0300
commita2ef245835ecb4880a921e9436706ba222e84fe8 (patch)
treece60c2bb6069155f477598ff1ec3d014f43ede55
parent6a76fc604efe91ed69af5345c66c2ed45fd4c757 (diff)
downloadydb-a2ef245835ecb4880a921e9436706ba222e84fe8.tar.gz
ci: use auto-provisioned runner for all workflows
-rw-r--r--.github/workflows/build_and_test_provisioned.yml2
-rw-r--r--.github/workflows/build_and_test_ya.yml6
-rw-r--r--.github/workflows/build_and_test_ya_ondemand.yml1
-rw-r--r--.github/workflows/build_and_test_ya_provisioned.yml6
-rw-r--r--.github/workflows/docker_publish.yml58
-rw-r--r--.github/workflows/nightly_run.yaml16
-rw-r--r--.github/workflows/pr_check.yml2
-rw-r--r--.github/workflows/prewarm-ccache.yml57
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 }}