Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
5cf721c
WIP - create travis tasks
nzlosh Jan 29, 2020
b7dabf8
Try to use Bionic for Python3.7 build jobs.
nzlosh Jan 29, 2020
1f1845e
Create new travis task name, tox environment and make targets for pyt…
nzlosh Jan 29, 2020
0fdafac
Use compilepy3 make target instead, it should work for Python3.6 and …
nzlosh Jan 29, 2020
75e2645
Fixed py37 target names in makefile.
nzlosh Jan 29, 2020
25a7896
Attempt to apply eventlet monkey patch workaround for issue eventlet/…
nzlosh Apr 1, 2020
f03634a
Merge branch 'master' of https://github.com/StackStorm/st2 into py37_…
nzlosh Apr 1, 2020
f3e06f6
Fix PYTHON_VERSION in travis.yml for Python3.7 tests.
nzlosh Apr 2, 2020
34b787e
Add import guard to prevent exceptions under Python 2.7
nzlosh Apr 2, 2020
b09069a
Added python3.7 criterion to condition for installing tox.
nzlosh Apr 2, 2020
e6fb699
Fix logic operator and removed trailing space from test.
nzlosh Apr 2, 2020
2ba696d
Merge branch 'master' into py37_support
nzlosh May 14, 2020
191a6ad
Merge branch 'master' into py37_support
nzlosh May 23, 2020
4656bbb
Merge branch 'master' into py37_support
nzlosh Sep 11, 2020
504a2a7
Removed monkey patch workaround code and bumped eventlet to 0.27.0 fo…
nzlosh Sep 11, 2020
9fd350e
Bump eventlet to v0.27.0 in all requirements.txt files for st2 compon…
nzlosh Sep 11, 2020
8eb78a8
Removed accidental re-introduction of mistral tests when merging master.
nzlosh Sep 11, 2020
8f3a4d2
Merge branch 'master' into py37_support
nzlosh Nov 19, 2020
32144eb
Merge branch 'master' into py37_support
nzlosh Mar 3, 2021
f068f0f
Merge branch 'py37_support' of github.com:nzlosh/st2 into py37_support
nzlosh Mar 3, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,16 @@ env:
# - python: "3.8"
# - python: "3.9"

- name: "Unit Tests, Pack Tests (Python 3.7)"
python: 3.7
dist: bionic
env: TASK="compilepy3 ci-py37-unit" CACHE_NAME=py37 PYTHON_VERSION=python3.7 COMMAND_THRESHOLD=750

- name: "Integration Tests (Python 3.7)"
python: 3.7
dist: bionic
env: TASK="ci-py37-integration" CACHE_NAME=py37 PYTHON_VERSION=python3.7 COMMAND_THRESHOLD=770

addons:
apt:
sources:
Expand Down
25 changes: 25 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -981,6 +981,31 @@ ci: ci-checks ci-unit ci-integration ci-packs-tests
.PHONY: ci-checks
ci-checks: .generated-files-check .pylint .flake8 check-requirements check-sdist-requirements .st2client-dependencies-check .st2common-circular-dependencies-check circle-lint-api-spec .rst-check .st2client-install-check check-python-packages

.PHONY: ci-py37-unit
ci-py37-unit:
@echo
@echo "==================== ci-py37-unit ===================="
@echo
NOSE_WITH_TIMER=$(NOSE_WITH_TIMER) tox -e py37-unit -vv
NOSE_WITH_TIMER=$(NOSE_WITH_TIMER) tox -e py37-packs -vv

.PHONY: ci-py37-unit-nightly
ci-py37-unit-nightly:
@echo
@echo "==================== ci-py37-unit ===================="
@echo
NOSE_WITH_TIMER=$(NOSE_WITH_TIMER) tox -e py37-unit-nightly -vv

.PHONY: ci-py37-integration
ci-py37-integration: requirements .ci-prepare-integration .ci-py37-integration

.PHONY: .ci-py37-integration
.ci-py37-integration:
@echo
@echo "==================== ci-py37-integration ===================="
@echo
NOSE_WITH_TIMER=$(NOSE_WITH_TIMER) tox -e py37-integration -vv

.PHONY: .rst-check
.rst-check:
@echo
Expand Down
6 changes: 3 additions & 3 deletions fixed-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ chardet<3.1.0
# NOTE: 2.0 version breaks pymongo work with hosts
dnspython>=1.16.0,<2.0.0
cryptography==3.3.2
# Note: 0.20.0 removed select.poll() on which some of our code and libraries we
# depend on rely
eventlet==0.25.1
# Bump eventlet 0.27.0 to support >=Python3.7 threading when monkeypatching.
# see https://github.com/eventlet/eventlet/pull/611 for details.
eventlet==0.27.0
flex==6.14.0
gitpython==2.1.15
# Note: greenlet is used by eventlet
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ bcrypt==3.1.7
chardet<3.1.0
cryptography==3.3.2
dnspython<2.0.0,>=1.16.0
eventlet==0.25.1
eventlet==0.27.0
flex==6.14.0
git+https://github.com/StackStorm/logshipper.git@stackstorm_patched#egg=logshipper
git+https://github.com/StackStorm/orquesta.git@v1.3.0#egg=orquesta
Expand Down
10 changes: 9 additions & 1 deletion scripts/travis/install-requirements.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# virtualenv prepartion is different for python3, so we want all py3 targets here.
# We use a glob instead of listing TASKs so TASK reorganization doesn't require so many changes.
if [[ " ${TASK}" = *' ci-py3-'* ]]; then
if [[ " ${TASK}" = *' ci-py3-'* || " ${TASK}" = *' ci-py37-'* ]]; then
pip install "tox==3.8.6"

# NOTE: The makefile only checks to see if the activate script is present.
Expand Down Expand Up @@ -53,6 +53,14 @@ if [[ " ${TASK}" = *' ci-py3-'* ]]; then
if [[ " ${TASK} " = *' ci-py3-integration '* ]]; then
tox -e py36-integration --notest
fi

if [[ " ${TASK} " = *' ci-py37-unit '* ]]; then
tox -e py37-unit --notest
fi

if [[ " ${TASK} " = *' ci-py37-integration '* ]]; then
tox -e py37-integration --notest
fi
else
make requirements
fi
23 changes: 0 additions & 23 deletions st2actions/requirements.txt

This file was deleted.

2 changes: 1 addition & 1 deletion st2api/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# If you want to update depdencies for a single component, modify the
# in-requirements.txt for that component and then run 'make requirements' to
# update the component requirements.txt
eventlet==0.25.1
eventlet==0.27.0
gunicorn==19.9.0
jsonschema==2.6.0
kombu==4.6.6
Expand Down
2 changes: 1 addition & 1 deletion st2auth/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# in-requirements.txt for that component and then run 'make requirements' to
# update the component requirements.txt
bcrypt==3.1.7
eventlet==0.25.1
eventlet==0.27.0
git+https://github.com/StackStorm/st2-auth-backend-flat-file.git@master#egg=st2-auth-backend-flat-file
git+https://github.com/StackStorm/st2-auth-ldap.git@master#egg=st2-auth-ldap
gunicorn==19.9.0
Expand Down
2 changes: 1 addition & 1 deletion st2common/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ apscheduler==3.6.3
chardet<3.1.0
cryptography==3.3.2
dnspython<2.0.0,>=1.16.0
eventlet==0.25.1
eventlet==0.27.0
flex==6.14.0
git+https://github.com/StackStorm/orquesta.git@v1.3.0#egg=orquesta
git+https://github.com/StackStorm/st2-rbac-backend.git@master#egg=st2-rbac-backend
Expand Down
2 changes: 1 addition & 1 deletion st2exporter/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# If you want to update depdencies for a single component, modify the
# in-requirements.txt for that component and then run 'make requirements' to
# update the component requirements.txt
eventlet==0.25.1
eventlet==0.27.0
kombu==4.6.6
oslo.config<1.13,>=1.12.1
six==1.13.0
2 changes: 1 addition & 1 deletion st2reactor/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# in-requirements.txt for that component and then run 'make requirements' to
# update the component requirements.txt
apscheduler==3.6.3
eventlet==0.25.1
eventlet==0.27.0
jsonpath-rw==1.4.0
jsonschema==2.6.0
kombu==4.6.6
Expand Down
2 changes: 1 addition & 1 deletion st2stream/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# If you want to update depdencies for a single component, modify the
# in-requirements.txt for that component and then run 'make requirements' to
# update the component requirements.txt
eventlet==0.25.1
eventlet==0.27.0
gunicorn==19.9.0
jsonschema==2.6.0
kombu==4.6.6
Expand Down
78 changes: 76 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py36-unit,py36-integration
envlist = py36-unit,py36-integration,py37-unit,py37-integration
skipsdist = true
skip_missing_interpreters=true

Expand Down Expand Up @@ -71,7 +71,81 @@ commands =

[testenv:py36-integration]
basepython = python3.6
setenv = PYTHONPATH = {toxinidir}/external:{toxinidir}/st2common:{toxinidir}/st2auth:{toxinidir}/st2api:{toxinidir}/st2actions:{toxinidir}/st2exporter:{toxinidir}/st2reactor:{toxinidir}/st2tests:{toxinidir}/contrib/runners/action_chain_runner:{toxinidir}/contrib/runners/local_runner:{toxinidir}/contrib/runners/python_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/noop_runner:{toxinidir}/contrib/runners/announcement_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/orquesta_runner:{toxinidir}/contrib/runners/inquirer_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/winrm_runner
setenv = PYTHONPATH = {toxinidir}/external:{toxinidir}/st2common:{toxinidir}/st2auth:{toxinidir}/st2api:{toxinidir}/st2actions:{toxinidir}/st2exporter:{toxinidir}/st2reactor:{toxinidir}/st2tests:{toxinidir}/contrib/runners/action_chain_runner:{toxinidir}/contrib/runners/local_runner:{toxinidir}/contrib/runners/python_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/noop_runner:{toxinidir}/contrib/runners/announcement_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/orquesta_runner:{toxinidir}/contrib/runners/inquirer_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/winrm_runner
VIRTUALENV_DIR = {envdir}
passenv = NOSE_WITH_TIMER TRAVIS
install_command = pip install -U --force-reinstall {opts} {packages}
deps = virtualenv
-r{toxinidir}/requirements.txt
-e{toxinidir}/st2client
-e{toxinidir}/st2common
commands =
nosetests --rednose --immediate -sv st2actions/tests/integration/
nosetests --rednose --immediate -sv st2api/tests/integration/
nosetests --rednose --immediate -sv st2common/tests/integration/
nosetests --rednose --immediate -sv st2debug/tests/integration/
nosetests --rednose --immediate -sv st2exporter/tests/integration/
nosetests --rednose --immediate -sv st2reactor/tests/integration/
nosetests --rednose --immediate -sv contrib/runners/action_chain_runner/tests/integration/
nosetests --rednose --immediate -sv contrib/runners/local_runner/tests/integration/
nosetests --rednose --immediate -sv contrib/runners/orquesta_runner/tests/integration/
nosetests --rednose --immediate -sv st2tests/integration/orquesta/
nosetests --rednose --immediate -sv contrib/runners/python_runner/tests/integration/

# Python 3.7 tasks
[testenv:py37-unit]
basepython = python3.7
setenv = PYTHONPATH = {toxinidir}/external:{toxinidir}/st2common:{toxinidir}/st2api:{toxinidir}/st2actions:{toxinidir}/st2exporter:{toxinidir}/st2reactor:{toxinidir}/st2tests:{toxinidir}/contrib/runners/action_chain_runner:{toxinidir}/contrib/runners/local_runner:{toxinidir}/contrib/runners/python_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/noop_runner:{toxinidir}/contrib/runners/announcement_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/orquesta_runner:{toxinidir}/contrib/runners/inquirer_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/winrm_runner
VIRTUALENV_DIR = {envdir}
passenv = NOSE_WITH_TIMER TRAVIS
install_command = pip install -U --force-reinstall {opts} {packages}
deps = virtualenv
-r{toxinidir}/requirements.txt
-e{toxinidir}/st2client
-e{toxinidir}/st2common
commands =
nosetests --rednose --immediate -sv st2actions/tests/unit/
nosetests --rednose --immediate -sv st2auth/tests/unit/
nosetests --rednose --immediate -sv st2api/tests/unit/controllers/v1/
nosetests --rednose --immediate -sv st2api/tests/unit/controllers/exp/
nosetests --rednose --immediate -sv st2common/tests/unit/
nosetests --rednose --immediate -sv st2client/tests/unit/
nosetests --rednose --immediate -sv st2debug/tests/unit/
nosetests --rednose --immediate -sv st2exporter/tests/unit/
nosetests --rednose --immediate -sv st2reactor/tests/unit/
nosetests --rednose --immediate -sv st2stream/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/action_chain_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/inquirer_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/announcement_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/http_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/noop_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/local_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/orquesta_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/python_runner/tests/unit/
nosetests --rednose --immediate -sv contrib/runners/winrm_runner/tests/unit/

[testenv:py37-packs]
basepython = python3.7
setenv = PYTHONPATH = {toxinidir}/external:{toxinidir}/st2common:{toxinidir}/st2api:{toxinidir}/st2actions:{toxinidir}/st2exporter:{toxinidir}/st2reactor:{toxinidir}/st2tests:{toxinidir}/contrib/runners/action_chain_runner:{toxinidir}/contrib/runners/local_runner:{toxinidir}/contrib/runners/python_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/noop_runner:{toxinidir}/contrib/runners/announcement_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/orquesta_runner:{toxinidir}/contrib/runners/inquirer_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/winrm_runner
VIRTUALENV_DIR = {envdir}
passenv = NOSE_WITH_TIMER TRAVIS
install_command = pip install -U --force-reinstall {opts} {packages}
deps = virtualenv
-r{toxinidir}/requirements.txt
-e{toxinidir}/st2client
-e{toxinidir}/st2common
commands =
st2-run-pack-tests -c -t -x -p contrib/packs
st2-run-pack-tests -c -t -x -p contrib/core
st2-run-pack-tests -c -t -x -p contrib/default
st2-run-pack-tests -c -t -x -p contrib/chatops
st2-run-pack-tests -c -t -x -p contrib/examples
st2-run-pack-tests -c -t -x -p contrib/linux
st2-run-pack-tests -c -t -x -p contrib/hello_st2

[testenv:py37-integration]
basepython = python3.7
setenv = PYTHONPATH = {toxinidir}/external:{toxinidir}/st2common:{toxinidir}/st2auth:{toxinidir}/st2api:{toxinidir}/st2actions:{toxinidir}/st2exporter:{toxinidir}/st2reactor:{toxinidir}/st2tests:{toxinidir}/contrib/runners/action_chain_runner:{toxinidir}/contrib/runners/local_runner:{toxinidir}/contrib/runners/python_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/noop_runner:{toxinidir}/contrib/runners/announcement_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/remote_runner:{toxinidir}/contrib/runners/orquesta_runner:{toxinidir}/contrib/runners/inquirer_runner:{toxinidir}/contrib/runners/http_runner:{toxinidir}/contrib/runners/winrm_runner
VIRTUALENV_DIR = {envdir}
passenv = NOSE_WITH_TIMER TRAVIS ST2_CI
install_command = pip install -U --force-reinstall {opts} {packages}
Expand Down