Skip to content

Commit ef9646e

Browse files
authored
chore(ci): move the selenium ci step to riot (#13611)
Move selenium from hatch to riot. Signed-off-by: Juanjo Alvarez <juanjo.alvarezmartinez@datadoghq.com>## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting) --------- Signed-off-by: Juanjo Alvarez <juanjo.alvarezmartinez@datadoghq.com>
1 parent cb08856 commit ef9646e

File tree

9 files changed

+183
-30
lines changed

9 files changed

+183
-30
lines changed

.riot/requirements/1230d1c.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/1230d1c.in
6+
#
7+
attrs==25.3.0
8+
certifi==2025.4.26
9+
charset-normalizer==3.4.2
10+
coverage[toml]==7.8.2
11+
exceptiongroup==1.3.0
12+
h11==0.16.0
13+
hypothesis==6.45.0
14+
idna==3.10
15+
iniconfig==2.1.0
16+
mock==5.2.0
17+
opentracing==2.4.0
18+
outcome==1.3.0.post0
19+
packaging==25.0
20+
pluggy==1.6.0
21+
pygments==2.19.1
22+
pysocks==1.7.1
23+
pytest==8.4.0
24+
pytest-cov==6.1.1
25+
pytest-mock==3.14.1
26+
python-dotenv==1.1.0
27+
requests==2.32.4
28+
selenium==4.33.0
29+
sniffio==1.3.1
30+
sortedcontainers==2.4.0
31+
tomli==2.2.1
32+
trio==0.30.0
33+
trio-websocket==0.12.2
34+
typing-extensions==4.13.2
35+
urllib3[socks]==2.4.0
36+
webdriver-manager==4.0.2
37+
websocket-client==1.8.0
38+
wsproto==1.2.0

.riot/requirements/143a175.txt

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/143a175.in
6+
#
7+
attrs==25.3.0
8+
certifi==2025.4.26
9+
charset-normalizer==3.4.2
10+
coverage[toml]==7.8.2
11+
exceptiongroup==1.3.0
12+
h11==0.16.0
13+
hypothesis==6.45.0
14+
idna==3.10
15+
iniconfig==2.1.0
16+
mock==5.2.0
17+
opentracing==2.4.0
18+
outcome==1.3.0.post0
19+
packaging==25.0
20+
pluggy==1.6.0
21+
pygments==2.19.1
22+
pysocks==1.7.1
23+
pytest==8.4.0
24+
pytest-cov==6.1.1
25+
pytest-mock==3.14.1
26+
python-dotenv==1.1.0
27+
requests==2.32.4
28+
selenium==4.33.0
29+
sniffio==1.3.1
30+
sortedcontainers==2.4.0
31+
tomli==2.2.1
32+
trio==0.30.0
33+
trio-websocket==0.12.2
34+
typing-extensions==4.13.2
35+
urllib3[socks]==2.4.0
36+
webdriver-manager==4.0.2
37+
websocket-client==1.8.0
38+
wsproto==1.2.0

.riot/requirements/18e9ec9.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/18e9ec9.in
6+
#
7+
attrs==25.3.0
8+
certifi==2025.4.26
9+
charset-normalizer==3.4.2
10+
coverage[toml]==7.8.2
11+
h11==0.16.0
12+
hypothesis==6.45.0
13+
idna==3.10
14+
iniconfig==2.1.0
15+
mock==5.2.0
16+
opentracing==2.4.0
17+
outcome==1.3.0.post0
18+
packaging==25.0
19+
pluggy==1.6.0
20+
pygments==2.19.1
21+
pysocks==1.7.1
22+
pytest==8.4.0
23+
pytest-cov==6.1.1
24+
pytest-mock==3.14.1
25+
python-dotenv==1.1.0
26+
requests==2.32.4
27+
selenium==4.33.0
28+
sniffio==1.3.1
29+
sortedcontainers==2.4.0
30+
trio==0.30.0
31+
trio-websocket==0.12.2
32+
typing-extensions==4.13.2
33+
urllib3[socks]==2.4.0
34+
webdriver-manager==4.0.2
35+
websocket-client==1.8.0
36+
wsproto==1.2.0

.riot/requirements/1db770e.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.12
3+
# by the following command:
4+
#
5+
# pip-compile --no-annotate .riot/requirements/1db770e.in
6+
#
7+
attrs==25.3.0
8+
certifi==2025.4.26
9+
charset-normalizer==3.4.2
10+
coverage[toml]==7.8.2
11+
h11==0.16.0
12+
hypothesis==6.45.0
13+
idna==3.10
14+
iniconfig==2.1.0
15+
mock==5.2.0
16+
opentracing==2.4.0
17+
outcome==1.3.0.post0
18+
packaging==25.0
19+
pluggy==1.6.0
20+
pygments==2.19.1
21+
pysocks==1.7.1
22+
pytest==8.4.0
23+
pytest-cov==6.1.1
24+
pytest-mock==3.14.1
25+
python-dotenv==1.1.0
26+
requests==2.32.4
27+
selenium==4.33.0
28+
sniffio==1.3.1
29+
sortedcontainers==2.4.0
30+
trio==0.30.0
31+
trio-websocket==0.12.2
32+
typing-extensions==4.13.2
33+
urllib3[socks]==2.4.0
34+
webdriver-manager==4.0.2
35+
websocket-client==1.8.0
36+
wsproto==1.2.0

hatch.toml

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -757,35 +757,6 @@ view = [
757757
"python scripts/ci_visibility/view_snapshot.py {args:}",
758758
]
759759

760-
[envs.selenium]
761-
template = "selenium"
762-
dependencies = [
763-
"pytest",
764-
"pytest-cov",
765-
"hypothesis",
766-
"selenium~=4.0",
767-
"webdriver-manager"
768-
]
769-
770-
[evs.selenium.env-vars]
771-
DD_AGENT_TRACER_URL = "9126"
772-
773-
[envs.selenium.scripts]
774-
test = [
775-
"pip freeze",
776-
"pytest -c /dev/null --no-ddtrace --no-cov tests/contrib/selenium {args:}",
777-
]
778-
779-
[[envs.selenium.matrix]]
780-
python = ["3.10", "3.12"]
781-
tested_pytest_plugin_version = ["v1", "v2"]
782-
783-
[envs.selenium.overrides]
784-
matrix.tested_pytest_plugin_version.env-vars = [
785-
{ key = "_TESTED_PYTEST_LEGACY_PLUGIN", value = "true", if = ["v1"]},
786-
{ key = "_TESTED_PYTEST_LEGACY_PLUGIN", value = "false", if = ["v2"]}
787-
]
788-
789760
[envs.appsec_integrations_pygoat]
790761
template = "appsec_integrations_pygoat"
791762
dependencies = [

lib-injection/sources/min_compatible_versions.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ rq,~=1.8.0
171171
ruamel.yaml,0
172172
sanic,~=20.12
173173
sanic-testing,~=0.8.3
174+
selenium,~=4.0
174175
slotscheck,==0.17.0
175176
snowflake-connector-python,~=2.3.0
176177
spyne,0
@@ -188,6 +189,7 @@ vcrpy,==4.2.1
188189
vertexai,0
189190
vertica-python,>=0.6.0
190191
virtualenv-clone,0
192+
webdriver-manager,0
191193
websockets,<11.0
192194
webtest,0
193195
werkzeug,<1.0

min_compatible_versions.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ rq,~=1.8.0
171171
ruamel.yaml,0
172172
sanic,~=20.12
173173
sanic-testing,~=0.8.3
174+
selenium,~=4.0
174175
slotscheck,==0.17.0
175176
snowflake-connector-python,~=2.3.0
176177
spyne,0
@@ -188,6 +189,7 @@ vcrpy,==4.2.1
188189
vertexai,0
189190
vertica-python,>=0.6.0
190191
virtualenv-clone,0
192+
webdriver-manager,0
191193
websockets,<11.0
192194
webtest,0
193195
werkzeug,<1.0

riotfile.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3083,6 +3083,36 @@ def select_pys(min_version: str = MIN_PYTHON_VERSION, max_version: str = MAX_PYT
30833083
),
30843084
],
30853085
),
3086+
Venv(
3087+
name="selenium",
3088+
pys=["3.10", "3.12"],
3089+
pkgs={
3090+
"selenium": "~=4.0",
3091+
"webdriver-manager": latest,
3092+
},
3093+
command="pytest --no-cov {cmdargs} -c /dev/null --no-ddtrace tests/contrib/selenium",
3094+
env={
3095+
"DD_AGENT_TRACER_URL": "9126",
3096+
},
3097+
venvs=[
3098+
Venv(
3099+
venvs=[
3100+
Venv(
3101+
name="selenium-pytest-legacy-plugin-true",
3102+
env={
3103+
"_TESTED_PYTEST_LEGACY_PLUGIN": "true",
3104+
},
3105+
),
3106+
Venv(
3107+
name="selenium-pytest-legacy-plugin-false",
3108+
env={
3109+
"_TESTED_PYTEST_LEGACY_PLUGIN": "false",
3110+
},
3111+
),
3112+
],
3113+
),
3114+
],
3115+
),
30863116
Venv(
30873117
name="freezegun",
30883118
command="pytest tests/contrib/freezegun {cmdargs}",

tests/ci_visibility/suitespec.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ suites:
9797
- '@selenium'
9898
- tests/contrib/selenium/*
9999
- tests/snapshots/test_selenium*
100-
runner: hatch
100+
runner: riot
101101
snapshot: true
102102
unittest:
103103
parallelism: 2

0 commit comments

Comments
 (0)