Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[workflows/linux] Switch to self-hosted runners in Azure Kubernetes Service #19183

Merged
merged 113 commits into from
Sep 23, 2023

Conversation

ababushk
Copy link
Contributor

Details:

  • This PR aims to move Linux builds to self-hosted runners in Azure Kubernetes Service. This will remove our dependencies on the limited number of default GitHub Runners ran in parallel.

Tickets:

  • 117508

@github-actions github-actions bot added the category: CI OpenVINO public CI label Aug 14, 2023
@github-actions github-actions bot added the category: MO Model Optimizer label Aug 21, 2023
@github-actions github-actions bot added the github_actions Pull requests that update GitHub Actions code label Sep 18, 2023
@ababushk
Copy link
Contributor Author

The paths were hard-coded because these issues:

@ababushk ababushk marked this pull request as ready for review September 18, 2023 19:27
@ababushk ababushk requested review from a team as code owners September 18, 2023 19:27
@ababushk
Copy link
Contributor Author

concurrency has also been changed. @mryzhov and me cancelled each other's jobs with the old value.

@ababushk ababushk changed the title [workflows/linux] Trying AKS runners [workflows/linux] Switch to self-hosted runners in Azure Kubernetes Service Sep 19, 2023
.github/workflows/linux.yml Outdated Show resolved Hide resolved
.github/workflows/linux.yml Outdated Show resolved Hide resolved
.github/workflows/linux.yml Outdated Show resolved Hide resolved
.github/workflows/linux.yml Outdated Show resolved Hide resolved
.github/workflows/linux.yml Outdated Show resolved Hide resolved
.github/workflows/linux.yml Outdated Show resolved Hide resolved
.github/workflows/linux.yml Show resolved Hide resolved
.github/workflows/linux.yml Show resolved Hide resolved
.github/workflows/linux.yml Show resolved Hide resolved
.github/workflows/linux.yml Outdated Show resolved Hide resolved
@mryzhov
Copy link
Contributor

mryzhov commented Sep 22, 2023

Regarding increased execution time:
cpu_func_tests silently skip some tests depending on hardware

@@ -882,6 +921,7 @@ jobs:
shell: bash
runs-on: ${{ github.event_name == 'schedule' && 'ubuntu-20.04-8-cores' || 'ubuntu-20.04'}}
env:
DEBIAN_FRONTEND: noninteractive # to prevent apt-get from waiting user input
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need it here?
dependencies are not installed in this job

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do not undestand - why was it added for PyTorch_Models_Tests but not for TensorFlow_Hub_Models_Tests?
May be you missed:)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's not required in both cases, because we don't install apt packages in these jobs

@ilya-lavrenov ilya-lavrenov merged commit 3e82849 into openvinotoolkit:master Sep 23, 2023
alvoron pushed a commit to alvoron/openvino that referenced this pull request Nov 6, 2023
…ervice (openvinotoolkit#19183)

* [workflows/liux] Trying AKS runners

* Remove sudo usages

* Fix repositories path

* Well, adding debug output

* execution bit?

* more debug output

* using bash...

* We should use shell syntax for env variables in 'run' sections

* again, may be we should use bash...

* fix cloning path for openvino repo

* more debug output

* Trying to populate WORKSPACE var in other way

* Trying different WORKSPACE

* export ALL variables for samples tests

* Trying to put openvino build into correct directory

* Replace more occurences of BUILD_DIR...

* Use shell expansion instead of Actions syntax in run steps

* Skip unit test failures

* Oops, there's no pytest for MO unit tests

* Oops, typo

* Fix LAYER_TESTS_INSTALL_DIR variable expansion

* Fix LAYER_TESTS_INSTALL_DIR for new stages

* Replace all the varibles

* Comment out CCACHE_DIR

I want to test worst-case scenario

* Comment setup ccache step

* Revert "Comment out CCACHE_DIR"

This reverts commit 046663a.

* Just checking something

* Update with new stages from master

* One more stage to fix

* Fix INSTALL_DIR again (new stages were merged to master?)

* Remove concurrency limit (for test purposes)

* Trigger one more pipeline

* Disable concurrency settings

* Trigger another build

* Disable ccache (for testing purposes)

* trigger another build to measure duration without ccache

* And one more test commit

* Return back ccache

* Testing new image

* Enable concurrency back

* Using new image

* And another image

* Trying build on the clean image

* Install git

Upstream ubuntu image doesn't have git

* Oops, forgot apt-get update

* Upstream Ubuntu image, but using ACR cache

* Remove debug output

* Use Ubuntu image from ACR cache for the rest of the stages

* Display version of ccache

* Swith to ubuntu 20 temporarily (I hope)

* Set CCACHE_TEMP_DIR outside of shared space

* Revert "Swith to ubuntu 20 temporarily (I hope)"

This reverts commit 2e53109.

* trying ccche nohardlink option

* Trying to disable ccache file cloning

* fix CCACHE_TEMPDIR

* Install git to Python unit tests stage

* Install libsnappy-dev as tests require it

* Install python to test stage

* Fix env vars syntax in few places

* Update docker image name

* Increase timeout for CPU tests

* Debug output - trying to find out what's wrong with test reports

* Change file name in debug-output 'find' command

* let's try shell syntax for upload artifact action...

It most likely won't work but I see strange output in the logs:
Error: No files were found with the provided path: /__w/openvino/openvino/install/tests/TEST*.xml
/runner/_work/openvino/openvino/install/tests/logs/failed/*.log
/runner/_work/openvino/openvino/install/tests/logs/crashed/*.log
/runner/_work/openvino/openvino/install/tests/logs/hanged/*.log
/runner/_work/openvino/openvino/install/tests/logs/interapted/*.log
/runner/_work/openvino/openvino/install/tests/logs/disabled_tests.log. No
artifacts will be uploaded.

So the first path is translated to the path inside the container
correctly and the rest are not O_o

* Revert "let's try shell syntax for upload artifact action..."

This reverts commit eb19b4f.

* Leave just disabled_tests.log (as it is the only one present)

* Use my own directory instead of github.workspace

Inside-container path translation doesn't work for upload-artifact
actions (it works only for the first path, but not for the rest)

* Revert "Leave just disabled_tests.log (as it is the only one present)"

This reverts commit 4321827.

* Okay, let's try hardcoded workspace path...

* Okay, path should be inside "official" workspace. Hardcode it

* Missed some variables, replace github.workspace to hard-coded value

* Remove debug output 'find' command

* Remove old-style cache setup

* Clean ccache stats after cmake

* Change docker image to the one with non-root user

* Oops, switch to Ubuntu 20

* Playing with concurrency group name

* Oops, forgot sudo for ninja installation

* Revert "Oops, forgot sudo for ninja installation"

This reverts commit a7e1730.

* Revert "Oops, switch to Ubuntu 20"

This reverts commit 19fe75f.

* Revert "Change docker image to the one with non-root user"

This reverts commit 5531164.

* Use Ubuntu 20 DockerHub image

* Trying to force apt-get packages not to wait for user input

* Make DEBIAN_FRONTED for all stages

* Update reason of skipped MO unit test

* Add DEBIAN_FRONTED to all jobs

* Fix environment variables expansion in newly-added stages

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <[email protected]>

* Update .github/workflows/linux.yml

Co-authored-by: Ilya Lavrenov <[email protected]>

* Fix review comments

* More review comment fixes

* Remove DEBIAN_FRONTEND from Python Models job

* "Get tools versions" step is absent on master

---------

Co-authored-by: Ilya Lavrenov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: CI OpenVINO public CI category: MO Model Optimizer github_actions Pull requests that update GitHub Actions code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants