You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: refactor/README.md
+25-12Lines changed: 25 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,28 +1,30 @@
1
-
# Dockerfile generation for OpenVINO releases, for Ubuntu 20.04, Ubuntu 22.04, RHEL 8
1
+
# Dockerfile templates for OpenVINO releases, for Ubuntu 20.04, Ubuntu 22.04 and RHEL 8
2
2
3
-
## How to run
3
+
## How to use, how to run
4
4
5
5
The tool does not require any non-standard Python packages, it only needs Python 3.10+ present
6
6
7
-
`configs/releases` directory contains configurations for all the supported releases. In general, if you want to build
8
-
`ubuntu20_dev:2024.3.0` image you should run this command:
7
+
`configs/releases` directory contains configurations for all the supported releases. For example, if you want to build
8
+
`ubuntu20_dev:2024.3.0` image, then you should run this command:
9
9
10
10
```bash
11
11
python3 image.py 2024.3.0/ubuntu20 --preset dev --build
12
12
```
13
-
This will generate `Dockerfile` and build it, tagging it `localhost/ubuntu20_dev:2024.3.0`
13
+
This will generate `Dockerfile`, build it and tag it `localhost/ubuntu20_dev:2024.3.0`
14
+
15
+
If you add `--test` option, it will also run some tests associated with this image.
14
16
15
17
## Current support state
16
18
17
19
Os support:
18
20
* Ubuntu 20: ✅
19
21
* Ubuntu 22: ✅
20
-
* Ubuntu 24: ❌
21
-
* RHEL8: ❌ (TODO)
22
+
* Ubuntu 24: ❌ (WIP)
23
+
* RHEL8: ❌ (WIP)
22
24
23
25
OpenVINO releases support:
24
26
* before 2024.1.0 ❌
25
-
* 2024.1.0 ❌(TODO)
27
+
* 2024.1.0 ❌(WIP)
26
28
* 2024.2.0 ✅
27
29
* 2024.3.0 ✅
28
30
@@ -37,10 +39,22 @@ Note that even though `Intel NPU` is said to be supported it doesn't mean that e
37
39
38
40
## How to work with it
39
41
42
+
To make it easier to test your changes, whatever they are, you might find it useful to install `pytest` package, as it makes checking all images specified in this repository as easy as running `pytest` command in the root directory. It will also let you select or deselect some tests with pytest's `-k` option. Examples:
43
+
44
+
This will only run dockerfile generation tests:
45
+
```
46
+
pytest -v -k "generate"
47
+
```
48
+
49
+
This will run tests for all but "nightly" configs (to be precise: all the tests which names don't contain "nightly"):
50
+
```
51
+
pytest -v -k "not nightly"
52
+
```
53
+
40
54
### When new OpenVINO release
41
55
42
56
1) Create a new release directory in `config/releases` called after the release version;
43
-
2) For each package build for specific os supported by this project, create a json file and use previous versions ad a template.
57
+
2) For each package build for specific os supported by this project, create a json file and use previous versions as a template.
44
58
45
59
### When new OS needs to be supported
46
60
@@ -64,12 +78,12 @@ Note: recursion is forbidden, that is, the dependency graph must have no cycles.
64
78
65
79
TODO: check for recursion, right now it will be infinitely loading if recursion appears.
66
80
67
-
#### Merging rules
81
+
#### Merging rules (a.k.a. what if there are values for the same key in different configs)
68
82
69
83
1) If either object is null (or if either is missing / is undefined) then the other is returned
70
84
2) If objects have different types then an error is returned
71
85
3) If objects are dictionaries then they are merged with this algorithm
72
-
4) otherwise the new object is returned instead of the old one (including lists)
86
+
4) otherwise the new object is returned instead of the old one (including lists!)
73
87
74
88
TODO: ^^^ describe merging better ^^^
75
89
@@ -317,4 +331,3 @@ configuration would look like.
0 commit comments