Skip to content

Commit 540768e

Browse files
author
alrex
authored
adding python 3.8 test environment (#96)
* adding python 3.8 test environment * disabling max throughput test, its completely inconsistent and adding FIXME to re-enable max_throughput in the future
1 parent e70dd7a commit 540768e

File tree

3 files changed

+72
-24
lines changed

3 files changed

+72
-24
lines changed

.circleci/config.yml

Lines changed: 68 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
1-
version: 2
1+
version: 2.1
2+
3+
commands:
4+
restore_benchmark_cache:
5+
description: "Restore pip and protos directories"
6+
steps:
7+
- restore_cache:
8+
key: benchmark-cache-{{ checksum "~/lightstep-benchmarks/requirements-dev.txt" }}
9+
10+
save_benchmark_cache:
11+
description: "Save pip and protos directories into cache for faster installs next time"
12+
steps:
13+
- save_cache:
14+
key: benchmark-cache-{{ checksum "~/lightstep-benchmarks/requirements-dev.txt" }}
15+
paths:
16+
- "/root/.cache/pip"
17+
- "~/protoc3"
18+
219
jobs:
3-
test-python2.7:
20+
test-python27:
421
working_directory: ~/lightstep/lightstep-tracer-python
522
shell: /bin/bash --login
623
environment:
@@ -20,7 +37,7 @@ jobs:
2037
- store_artifacts:
2138
path: /tmp/circleci-test-results
2239

23-
test-python3.4:
40+
test-python34:
2441
working_directory: ~/lightstep/lightstep-tracer-python
2542
shell: /bin/bash --login
2643
environment:
@@ -40,7 +57,7 @@ jobs:
4057
- store_artifacts:
4158
path: /tmp/circleci-test-results
4259

43-
test-python3.5:
60+
test-python35:
4461
working_directory: ~/lightstep/lightstep-tracer-python
4562
shell: /bin/bash --login
4663
environment:
@@ -60,7 +77,7 @@ jobs:
6077
- store_artifacts:
6178
path: /tmp/circleci-test-results
6279

63-
test-python3.6:
80+
test-python36:
6481
working_directory: ~/lightstep/lightstep-tracer-python
6582
shell: /bin/bash --login
6683
environment:
@@ -80,7 +97,7 @@ jobs:
8097
- store_artifacts:
8198
path: /tmp/circleci-test-results
8299

83-
test-python3.7:
100+
test-python37:
84101
working_directory: ~/lightstep/lightstep-tracer-python
85102
shell: /bin/bash --login
86103
environment:
@@ -100,19 +117,48 @@ jobs:
100117
- store_artifacts:
101118
path: /tmp/circleci-test-results
102119

120+
test-python38:
121+
working_directory: ~/lightstep/lightstep-tracer-python
122+
shell: /bin/bash --login
123+
environment:
124+
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
125+
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
126+
docker:
127+
- image: circleci/python:3.8
128+
steps:
129+
- checkout
130+
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
131+
- run: sudo pip install tox
132+
- run: make test38
133+
- store_test_results:
134+
path: /tmp/circleci-test-results
135+
- store_artifacts:
136+
path: /tmp/circleci-artifacts
137+
- store_artifacts:
138+
path: /tmp/circleci-test-results
139+
103140
regression_test:
104141
resource_class: xlarge
105142
docker:
106-
- image: circleci/python:3.7.4
143+
- image: circleci/python:3.7.7
107144
working_directory: ~/repo
108145
steps:
109146
- checkout
110147
- run: cd ~; ~/repo/ci/clone_lightstep_benchmarks.sh
148+
- restore_benchmark_cache
111149
- run: ~/lightstep-benchmarks/scripts/ci_setup.sh
150+
- save_benchmark_cache
112151
- run: sudo pip install -e ~/repo
152+
# FIXME: the regression tests are current not running the test_max_throughput
153+
# as it is unable to handle running in a shared CI environment and the variability
154+
# from the results is sometimes greater than a 33% drop in performance
155+
#
156+
# pytest -s --client_name python regression_tests.py::test_max_throughput
113157
- run: |
114158
cd ~/lightstep-benchmarks/
115-
pytest -s --client_name python regression_tests.py
159+
pytest -s --client_name python regression_tests.py::test_memory
160+
pytest -s --client_name python regression_tests.py::test_dropped_spans
161+
pytest -s --client_name python regression_tests.py::test_cpu
116162
- store_artifacts:
117163
path: ~/lightstep-benchmarks/logs
118164
destination: logs
@@ -193,23 +239,22 @@ workflows:
193239
version: 2
194240
test:
195241
jobs:
196-
- test-python2.7
197-
- test-python3.4
198-
- test-python3.5
199-
- test-python3.6
200-
- test-python3.7
201242
- regression_test
202-
- approve_make_graphs:
203-
type: approval
204-
- make_dropped_graphs:
243+
- test-python27:
244+
requires:
245+
- regression_test
246+
- test-python34:
247+
requires:
248+
- regression_test
249+
- test-python35:
205250
requires:
206-
- approve_make_graphs
207-
- make_memory_graphs:
251+
- regression_test
252+
- test-python36:
208253
requires:
209-
- approve_make_graphs
210-
- make_disconnect_graphs:
254+
- regression_test
255+
- test-python37:
211256
requires:
212-
- approve_make_graphs
213-
- make_cpu_graphs:
257+
- regression_test
258+
- test-python38:
214259
requires:
215-
- approve_make_graphs
260+
- regression_test

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ test36: build
6464
test37: build
6565
tox -e py37
6666

67+
test38: build
68+
tox -e py38
69+
6770
test: build
6871
tox
6972

tox.ini

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = py27, py34, py35, py36, py37, py37-tracecontext
2+
envlist = py27, py34, py35, py36, py37, py37-tracecontext, py38
33

44
[testenv]
55
deps =

0 commit comments

Comments
 (0)