Commit Graph

21 Commits

Author SHA1 Message Date
Andrei Kashchikhin 10177bfb89
[CI] [GHA] Introduce Dockerfiles for test jobs (#24742)
### Tickets:
 - *141574*
2024-05-30 09:46:12 +00:00
Andrei Kashchikhin 38ce1fff0f
[CI] [GHA] Create cache directory recursively (#24732)
### Details:
 - Port of #24703
- The issue that was present on the release branches does not affect the
master branch yet but it could if, for example, a new folder is added to
the cache path.

### Tickets:
 - *142372*
2024-05-28 09:13:16 +00:00
Denis Orlov 003c540c72
Add copyright headers to Python scripts in the github folder (#24449)
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2024-05-09 20:30:21 +00:00
Alina Kladieva e4670660a0
[GHA][CVS-112829] Public Dockerfile (#23064)
Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
2024-05-02 17:44:03 +00:00
Mikhail Ryzhov 6ab4dc11e8
[CI][GHA] Custom compressed cache action (#23709)
### Details:
We have introduced a new custom action that uploads and downloads cached
files as monolithic tarballs. It functions similarly to the GHA cache
action but utilizes mounted shared disks to save and restore caches.

The action searches for tarball files in the specified cache directory,
filters them by restore keys, and sorts them by access time. The most
recently accessed file will be downloaded and extracted to the runner
file system. As a post-action step, it archives files to the tarball and
uploads them to the remote share. Additionally, it provides the ability
to clean up old cache files.

It also includes the following separate actions:
 - Restore 
 - Save
 - Cleanup
 
These actions can be used individually in workflows

For example, its usage is demonstrated in the PR, which includes changes
to the .github/workflows/linux_riscv.yml file

### Tickets:
 - *ticket-id*
2024-04-04 12:54:46 +00:00
Andrei Kashchikhin 5941f09429
[CI] [GHA] Preinstall `tzdata` and `gpg-agent` packages in the setup Python action (#22606)
* preconfigure tzdata and gpg

* mv to all linux
2024-02-01 19:17:59 +00:00
Andrei Kashchikhin dab68a88bb
[CI] [GHA] Add retries for APT, update deadsnakes action (#22515)
* update setup_python version, add retries for apt in Linux workflows

* account for sudo

* use sudo via sh
2024-01-30 14:03:40 +00:00
Andrei Kashchikhin 679ce62c73
bump to v5 (#22505) 2024-01-29 13:53:35 +00:00
Alina Kladieva 222184ca28
[GHA] Run full scope on merge queue events (#22172) 2024-01-17 10:57:15 +01:00
Andrey Kashchikhin dfc91186a1
[CI] [GHA] Extract test jobs into reusable workflows (#21395)
* extract cpu func tests into a reusable workflow

* add needs

* check paths

* correct paths

* rm usage of setupvars

* extract samples

* use yaml string

* split mac workflow

* check variables

* try github workspace

* check full dir

* set variables

* try with sub directory

* Revert "try with sub directory"

This reverts commit d891ee3f28.

* extract c++ tests from linux

* change

* use cxx workflow in mac workflows

* add noninteractive

* extract cpu func tests

* rm unused

* enable mac

* fix reusable workflow name

* correct path for sparse-checkout

* extract python UT

* remove unnecessary asterisk

* remove another unnecessary asterisk

* use reusable action for linux cc

* add check for setupvars existence

* check with manually installed opencl

* add components input to samples workflow; rm pr triggers for mac workflows

* add missing needs

* add missing option for deps install  script

* use disables in test themselves instead of ifs in workflows

* use reusable workflow for cxx tests in linux arm

* use python reusable workflow in linux arm

* add missing endif

* use self-hosted for samples, add x86_64 constraint for jax

* check paths

* find gompby partial name

* skip failing tests on arm; correct gomp finding for ovc

* check tests

* add debian packages job; use job_ prefix for reusable workflows with jobs

* extract tf hub model tests

* extract tf model hub perf tests

* extract pytorch models tests

* do not use container on GHA runners

* extract onnx runtime

* add missing deps

* skip test for linux arm

* rm always()s

* fix quotes

* correct paths

* correct ifs, check dir for onnxruntime

* correct path for onnxruntime utils folder; install python3

* use self-hosted as input

* check for self-hosted runner via name, pass version

* skip cpu plugin unittest

* check cxx tests

* rm pr trigger
2023-12-07 23:44:45 +04:00
Andrey Kashchikhin 62f5bd6570
[CI] [GHA] Introduce the Linux ARM64 workflow (#20809)
* add arm as a matrix for build job

* uncomment

* comment

* try inside pipeline

* check location

* another dirs

* try to privide correct action path

* use corrected action

* use newer commit

* use newer commit

* use newer commit

* use newer action commit

* add setting

* rm from pipeline, adapt action iteslf

* add missing deps

* enable samples and debian jobs

* correct yml

* correct image name

* correct syntax, use self-hosted option

* enable onnx runtime and c++, use newer action

* enable Python and CPU Func tests

* add missing deps for arm64

* increase timeout for python tests

* disable some tests, add more time

* skip failing tests

* skip speech sample test on arm

* dummy chang

* skip mxnet mo on arm, run all tests

* rm quotes

* separate linux x86 and arm64 workflows

* rm unused matrix refs, add timeouts

* add skips for c++ tests and some Python tests

* correct cache keys, extend timeout

* skip more python tests

* add more skips: for python and CPU func

* extend cpu func list with skips

* disable cpu func tests and python api 2.0 tests

* rm disable job

* styling, rm pr trigger, rm always(), rm unnecessary changes

* revert

* use ifs instead of comments, provide better wording for skips
2023-12-05 12:14:02 +04:00
Alina Kladieva d722e42052
[GHA] Smart CI for more pipelines (#21307)
* Add Smart CI for more pipelines. Refactor logic for workflow skip

Since different workflows may have different requirements for skipping them, I suggest to move these requirements to parameters instead of hardcoding them

* Use patterns for skipping pipeline for conformance-only

* Remove path filters for Android

* Return mistakenly deleted param

* Propagate params to Python script

* Add missing outputs mapping

* Return push trigger

* Skip CC CPU func when CPU is not affected

* Fix variable name
2023-11-27 18:43:54 +04:00
Alina Kladieva 23462aea6b
[GHA] Fix validation of dependent components in Smart CI config (#21187)
Use new syntax
2023-11-20 15:08:24 +01:00
Alina Kladieva f7f8636fe4
[GHA] Workaround for some non-repo components in Smart CI (#21134)
* Workaround for some non-repo components in Smart CI

* Add possibility to add all components as dependent

* Remove extra check

* Add test case for "all" key
2023-11-20 12:44:50 +04:00
Alina Kladieva f0c0bf89e2
Smart CI for docs (#21021)
* Handle Smart CI for docs

* Remove path filters

* Fix quotes

* Fix logic

* Revert unneeded change

* Add md_files_only to components configuration

* Get rid of custom output

* Try to fix condition

* Add manual handling of some docs changes

* Remove helper label
2023-11-14 00:00:51 +04:00
Alina Kladieva fa22836cfb
Fix no match files change case (#20981) 2023-11-09 12:07:47 +01:00
Ilya Lavrenov c851d643b3
Fixed smart CI (#20980) 2023-11-09 11:28:32 +01:00
Alina Kladieva 000966660c
Smart CI POC (#19825)
* Try using a custom action directly from repo

* Run smart CI under ubuntu-latest

* Set output + add a sample step

* Update linux.yml

* Add components.yml

* Add some conditions

* Just to check if reference to "needs" work in job context

* Update linux.yml

* More example cases

* Dummy change to CPU

* Fix typo

* Fix SAMPLES_AFFECTED variable

* Use more correct dependents key

* Fighting with messy GHA conditions

* No brackets and no double quotes in conditions

* Revert "Dummy change to CPU"

This reverts commit 4eae09e5b5.

* Use refactored action

* Move action implementation to openvino repo

* Extend components.yml config

* Update labeler.yml

* Dummy change to TF FE

* Fix indentation

* Add missing needs

* Add missing records

* Allow missing records for components in validation

* install_openvino_dependencies as a separate step for Python_Unit_Tests

* Improve config validation

* Revert "Dummy change to TF FE"

This reverts commit 01190864d1.

* Dummy change to model hub tests

* Update CPU component config

* Dummy change to Python API

* Dummy change to Python API

* Revert "Dummy change to Python API"

This reverts commit 3fce0bb3fb.

* Dummy change to Python API

* Simplify conditions. Cover "no components changed" case

* Update components.yml

* Update .gitignore

* Revert "Dummy change to Python API"

This reverts commit e57ea9852c.

* Fix dependencies scopes

* Add simple unit tests for smart ci functionality

* Revert "Dummy change to model hub tests"

This reverts commit c3d6837e22.

* Use ghapi module with permissive license

* Cover install_build_dependencies.sh script by labeler

* More labels

* Use ghapi. Apply review comments

* Enable dot files to be matched by labeler

* Warning instead of error in artifacts upload where smart ci is enabled

* Fix master merge

* Fix condition for TF FE common tests

* Fix condition for Pytorch FE tests

* Remove condition for pytorch model tests

* Allow any label as a component

* Refactor tests log handling

* Allow any defined label as a component

* Rearrange config structure. Fill the config with actual data

* Run full scope on changes to non-matching files

* Add missing conditions

---------

Co-authored-by: Ilya Lavrenov <ilya.lavrenov@intel.com>
2023-11-09 11:38:58 +04:00
Andrey Kashchikhin 24cd7283e3
make cache space showing optional (#20962) 2023-11-08 17:28:08 +00:00
Andrey Kashchikhin 03f23ae57a
[CI] [GHA] Fix `openvino.test_utils` imports for Mac and Win Python unittests (#20786)
* add platform-agnostic setup python action

* use specific version

* rm debug message, checkout action

* correct path

* add checkout of the action, correct paths

* correct path; enclose into brackets

* transfer linux pipelines to local setup-python action

* transfer pipelines

* use newer version

* account for fedora, add missing cache path

* correct name

* use 3.9 for fedora

* rm python install from fedora

* mv fetch and setup together, set pip_cache_dir

* correct order

* rm triggers

* add missing pythonpaths

* correct path

* add one more pythonpath

* add paths to ov package libs

* Revert "add paths to ov package libs"

This reverts commit a775881f3e.
2023-11-01 12:07:40 +04:00
Andrey Kashchikhin b1ce297bde
[CI] [GHA] Add system information print action (#20710)
* added action

* test action

* fixed typo

* move action to test flow

* fixed pipeline

* changed description

* add action to common pipeline

* changed actions path

* use bash syntax

* path

* fix

* reordered

* update

* revert unused changes

* update path

* Revert "update path"

This reverts commit bff8ac2396.

* mac and win

* print system info

* correct pathg

* use relative path

* run mac

* add print sysinfo step, enable triggers

* use win agnostic func

* rm triggers

* mv sysinfo check after checkouts; rm tools versions info printing

* correct desc

* add sysinfo dep for fedora

* mv pre-requisite installation

---------

Co-authored-by: Mikhail Ryzhov <mikhail.ryzhov@intel.com>
2023-10-27 11:25:01 +02:00