History

scripts: test_doc_build.py: improve dependency list

Change the dependency list to ensure that: - all docutils versions are covered; - provide an explanation about the dependencies; - set a better minimal requirement for 3.4.3.

Mauro Carvalho Chehab committed 1 year ago

Commit 792bf011 parent 3fa60d21 file · +50 −18Browse files

Unified · Split

scripts/test_doc_build.py+50−18
@@ -37,70 +37,102 @@ PYTHON_VER_CHANGES = {(8, 0, 2): PYTHON} · 36 unmodified lines
37 37
38# Sphinx versions to be installed and their incremental requirements38# Sphinx versions to be installed and their incremental requirements
39SPHINX_REQUIREMENTS = {39SPHINX_REQUIREMENTS = {
40 # Oldest versions we support for each package required by Sphinx 3.4.3
40 (3, 4, 3): {41 (3, 4, 3): {
42 "docutils": "0.16",
43 "alabaster": "0.7.12",
44 "babel": "2.8.0",
45 "certifi": "2020.6.20",
46 "docutils": "0.16",
47 "idna": "2.10",
48 "imagesize": "1.2.0",
49 "Jinja2": "2.11.2",
50 "MarkupSafe": "1.1.1",
51 "packaging": "20.4",
52 "Pygments": "2.6.1",
53 "PyYAML": "5.1",
54 "requests": "2.24.0",
55 "snowballstemmer": "2.0.0",
56 "sphinxcontrib-applehelp": "1.0.2",
57 "sphinxcontrib-devhelp": "1.0.2",
58 "sphinxcontrib-htmlhelp": "1.0.3",
59 "sphinxcontrib-jsmath": "1.0.1",
60 "sphinxcontrib-qthelp": "1.0.3",
61 "sphinxcontrib-serializinghtml": "1.1.4",
62 "urllib3": "1.25.9",
63 },
64
65 # Update package dependencies to a more modern base. The goal here
66 # is to avoid to many incremental changes for the next entries
67 (3, 5, 4): {
41 "alabaster": "0.7.13",68 "alabaster": "0.7.13",
42 "babel": "2.17.0",69 "babel": "2.17.0",
43 "certifi": "2025.6.15",70 "certifi": "2025.6.15",
44 "charset-normalizer": "3.4.2",
45 "docutils": "0.15",
46 "idna": "3.10",71 "idna": "3.10",
47 "imagesize": "1.4.1",72 "imagesize": "1.4.1",
48 "Jinja2": "3.0.3",73 "Jinja2": "3.0.3",
49 "MarkupSafe": "2.0",74 "MarkupSafe": "2.0",
50 "packaging": "25.0",75 "packaging": "25.0",
51 "Pygments": "2.19.1",76 "Pygments": "2.19.1",
52 "PyYAML": "5.1",
53 "requests": "2.32.4",77 "requests": "2.32.4",
54 "snowballstemmer": "3.0.1",78 "snowballstemmer": "3.0.1",
55 "sphinxcontrib-applehelp": "1.0.4",79 "sphinxcontrib-applehelp": "1.0.4",
56 "sphinxcontrib-devhelp": "1.0.2",
57 "sphinxcontrib-htmlhelp": "2.0.1",80 "sphinxcontrib-htmlhelp": "2.0.1",
58 "sphinxcontrib-jsmath": "1.0.1",
59 "sphinxcontrib-qthelp": "1.0.3",
60 "sphinxcontrib-serializinghtml": "1.1.5",81 "sphinxcontrib-serializinghtml": "1.1.5",
61 "urllib3": "2.4.0",
62 },82 },
63 (3, 5, 4): {},83
84 # Starting from here, ensure all docutils versions are covered with
85 # supported Sphinx versions. Other packages are upgraded only when
86 # required by pip
64 (4, 0, 3): {87 (4, 0, 3): {
65 "docutils": "0.17.1",88 "docutils": "0.17",
66 "PyYAML": "5.1",89 "PyYAML": "5.1",
67 },90 },
68 (4, 1, 2): {},91 (4, 1, 2): {
69 (4, 3, 2): {},92 },
93 (4, 3, 2): {
94 },
70 (4, 4, 0): {},95 (4, 4, 0): {},
71 (4, 5, 0): {},96 (4, 5, 0): {},
72 (5, 0, 2): {},97 (5, 0, 2): {},
73 (5, 1, 1): {},98 (5, 1, 1): {},
74 (5, 2, 3): {99 (5, 2, 3): {
100 "docutils": "0.17.1",
75 "Jinja2": "3.1.2",101 "Jinja2": "3.1.2",
76 "MarkupSafe": "2.0",102 "MarkupSafe": "2.0",
77 "PyYAML": "5.3.1",103 "PyYAML": "5.3.1",
78 },104 },
79 (5, 3, 0): {105 (5, 3, 0): {},
80 "docutils": "0.18.1",106 (6, 0, 1): {
81 "PyYAML": "5.3.1",107 "docutils": "0.18",
82 },108 },
83 (6, 0, 1): {},
84 (6, 1, 3): {},109 (6, 1, 3): {},
85 (6, 2, 1): {110 (6, 2, 1): {
111 "docutils": "0.18.1",
86 "PyYAML": "5.4.1",112 "PyYAML": "5.4.1",
87 },113 },
88 (7, 0, 1): {},114 (7, 0, 1): {
115 },
89 (7, 1, 2): {},116 (7, 1, 2): {},
90 (7, 2, 3): {117 (7, 2, 3): {
118 "docutils": "0.19",
91 "PyYAML": "6.0.1",119 "PyYAML": "6.0.1",
92 "sphinxcontrib-serializinghtml": "1.1.9",120 "sphinxcontrib-serializinghtml": "1.1.9",
93 },121 },
94 (7, 3, 7): {122 (7, 3, 7): {
123 "docutils": "0.20",
95 "alabaster": "0.7.14",124 "alabaster": "0.7.14",
96 "PyYAML": "6.0.1",125 "PyYAML": "6.0.1",
97 },126 },
98 (7, 4, 7): {127 (7, 4, 7): {
99 "docutils": "0.20",128 "docutils": "0.21",
100 "PyYAML": "6.0.1",129 "PyYAML": "6.0.1",
101 },130 },
102 (8, 0, 2): {},131 (8, 0, 2): {
132 "docutils": "0.21.1",
133 },
103 (8, 1, 3): {134 (8, 1, 3): {
135 "docutils": "0.21.2",
104 "PyYAML": "6.0.1",136 "PyYAML": "6.0.1",
105 "sphinxcontrib-applehelp": "1.0.7",137 "sphinxcontrib-applehelp": "1.0.7",
106 "sphinxcontrib-devhelp": "1.0.6",138 "sphinxcontrib-devhelp": "1.0.6",