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

[DOCS] review dev CI docs part2 #22850

Merged
merged 15 commits into from
Mar 13, 2024
Prev Previous commit
Next Next commit
add table of content
  • Loading branch information
tsavina committed Feb 19, 2024
commit 7678dd57dbceb924987b4bcc72c42eb77a6b0c0b
14 changes: 13 additions & 1 deletion docs/dev/ci/github_actions/adding_tests.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@
# How to add Tests
# How to add Tests to GitHub Actions CI

The OpenVINO repository has [many workflows](./../../../../.github/workflows), which contain
jobs for building and testing OpenVINO. Their general and structural overview is
tsavina marked this conversation as resolved.
Show resolved Hide resolved
available in the [OpenVINO GitHub Actions CI page](./overview.md).

tsavina marked this conversation as resolved.
Show resolved Hide resolved
This document explains how to add tests to existing workflows and create new workflows.

tsavina marked this conversation as resolved.
Show resolved Hide resolved
## Table of Contents

* [Adding Tests to Existing Workflow](#adding-tests-to-existing-workflow)
* [Adding Tests to Existing Test Suite](#adding-tests-to-existing-test-suite)
tsavina marked this conversation as resolved.
Show resolved Hide resolved
* [Creating a Step in a Job](#creating-a-step-in-a-job)
tsavina marked this conversation as resolved.
Show resolved Hide resolved
* [Creating a New Job](#creating-a-new-job)
* [Creating a Workflow](#creating-a-workflow)
* [Test Time and Usage](#test-time-and-usage)
* [Adding a Step](#adding-a-step)
* [Adding a Job](#adding-a-job)
* [Adding a Workflow](#adding-a-workflow)

## Adding Tests to Existing Workflow

tsavina marked this conversation as resolved.
Show resolved Hide resolved
### Adding Tests to Existing Test Suite
Expand Down
12 changes: 10 additions & 2 deletions docs/dev/ci/github_actions/caches.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,14 @@

OpenVINO uses caches to accelerate builds and tests while minimizing network usage.

## Table of Contents

* [Available Caches](#available-caches)
* [GitHub Actions Cache](#github-actions-cache)
* [Shared Drive Cache](#shared-drive-cache)
* [Cloud Storage via Azure Blob Storage](#cloud-storage-via-azure-blob-storage)


## Available Caches

Three types of caches are available:
Expand Down Expand Up @@ -74,7 +82,7 @@ Refer to the [actions/cache documentation](https://github.com/actions/cache) for
This cache is used to store dependencies and large assets, such as models and datasets,
that will be used by different workflow jobs.

**NOTE**: This cache is enabled for Linux [self-hosted runners](./runners.md) only.
>**NOTE**: This cache is enabled for Linux [self-hosted runners](./runners.md) only.

The drive is available on self-hosted machines. To make it available inside [the Docker containers](./docker_images.md),
tsavina marked this conversation as resolved.
Show resolved Hide resolved
add the mounting point under the `container`'s `volumes` key in a job configuration:
Expand Down Expand Up @@ -110,7 +118,7 @@ To add new resources, contact a member of the CI team for assistance.
This cache is used for sharing OpenVINO build artifacts between runs.
The [`sccache`](https://github.com/mozilla/sccache) tool can cache, upload and download build files to/from [Azure Blob Storage](https://azure.microsoft.com/en-us/products/storage/blobs).

**NOTE**: This cache is enabled for [self-hosted runners](./runners.md) only.
>**NOTE**: This cache is enabled for [self-hosted runners](./runners.md) only.

`sccache` requires several configurations to work:
* Installation. Refer to the [sccache installation](#sccache-installation) section.
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/ci/github_actions/reusable_workflows.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ In the OpenVINO GitHub Actions CI, reusable workflows typically have:
* the `container` input represented as a JSON, which is converted to the value of the "container" configuration for the job. Learn more about [using Docker in the workflows](./docker_images.md)
* *Optional* the `affected-components` input, indicating components affected by changes in the commit defined by the Smart CI Action. Learn more about the [Smart CI system](./smart_ci.md)

*NOTE*: All workflows should be placed under [`./.github/workflows`](./../../../../.github/workflows) according to the [GitHub documentation](https://docs.github.com/en/actions/using-workflows/about-workflows#about-workflows).
>**NOTE**: All workflows should be placed under [`./.github/workflows`](./../../../../.github/workflows) according to the [GitHub documentation](https://docs.github.com/en/actions/using-workflows/about-workflows#about-workflows).

Since reusable workflows are structured and behave like jobs, you can refer to the [adding tests page](./adding_tests.md) to learn more about creating a job and
use the information about the reusable workflows to transform a job into a reusable workflow.
19 changes: 17 additions & 2 deletions docs/dev/ci/github_actions/smart_ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,22 @@ containing the feature implementation.
This document describes the Smart CI implementation in OpenVINO GitHub Actions pre-commit
workflows and provides instructions on how to add or modify its rules.

*NOTE*: Basic understanding of [GitHub Actions workflows](https://docs.github.com/en/actions) is required.
>**NOTE**: Basic understanding of [GitHub Actions workflows](https://docs.github.com/en/actions) is required.

## Table of Contents

* [Implementation](#implementation)
* [Configuration of Smart CI Rules](#configuration-of-smart-ci-rules)
* [Product Components Definition: .github/labeler.yml](#product-components-definition:=.github/labeler.yml)
* [Definition of Dependencies between Components: .github/components.yml](#definition-of-dependencies-between-components:-.github/components.yml)
* [Specifics of Pipeline Behavior](#specifics-of-pipeline-behavior)
* [How to Contribute](#how-to-contribute)
* [Adding a New Component](#adding-a-new-component)
* [Adding Validation for a Component](#adding-validation-for-a-component)
* [Adding Support for Smart CI to a Workflow](#adding-support-for-smart-ci-to-a-workflow)
* [Skipping an Entire Workflow for Specific Changes](#skipping-an-entire-workflow-for-specific-changes)
* [Adding Smart CI for Components Outside the OpenVINO Repository](#adding-smart-ci-for-components-outside-the-openvino-repository)


## Implementation

Expand Down Expand Up @@ -267,7 +282,7 @@ After that, you can refer to the outputs from Smart_CI in validation jobs, as de
[Adding validation for a component](#adding-validation-for-a-component) section. To learn more about the syntax of
GitHub Actions Workflows, see the [workflows](https://docs.github.com/en/actions/using-workflows/about-workflows) page.

### Skipping the Entire Workflow for Specific Changes
### Skipping an Entire Workflow for Specific Changes

To skip entire workflows based on specific conditions, you can use the
[paths-ignore](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore)
Expand Down
Loading