This environment was used by SQLAlchemy 1.4 and is no longer necessary
since SQLAlchemy was bumped to 2.0 .
Change-Id: I9305910c7ab8a8874410ba921584a221b9a2bfab
Some of the "unit" test cases required actual redis running. This
introduces a separate job with actual redis service enabled so that
we run these tests in CI.
Change-Id: I1ddb580e9e8eb34937acba934520a998d249da3c
This library no longer supports Python 2, thus usage of six can be
removed. This also removes workaround about pickle library used in
Python 2 only.
Change-Id: I19d298cf0f402d65f0b142dea0bf35cf992332a9
Introduced changes:
- pre-commit config and rules.
- Add pre-commit to pep8 gate, Flake8 is covered in the pre-commit hooks.
- Applying fixes for pre-commit compliance in all code.
Also commit hash will be used instead of version tags in pre-commit to
prevend arbitrary code from running in developer's machines.
pre-commit will be used to:
- trailing whitespace;
- Replaces or checks mixed line ending (mixed-line-ending);
- Forbid files which have a UTF-8 byte-order marker
(check-byte-order-marker);
- Checks that non-binary executables have a proper
shebang (check-executables-have-shebangs);
- Check for files that contain merge conflict strings
(check-merge-conflict);
- Check for debugger imports and py37+ breakpoint()
calls in python source (debug-statements);
- Attempts to load all yaml files to verify syntax (check-yaml);
- Run flake8 checks (flake8) (local)
For further details about tests please refer to:
https://github.com/pre-commit/pre-commit-hooks
Change-Id: I3640bb690c552a428ae0e8250adffbc3a51a310e
Signed-off-by: Moisés Guimarães de Medeiros <moguimar@redhat.com>
Python 3.8 is now our highest level supported python runtime.
This updates the default tox target environments to swap out
py37 for py38 to make sure local development testing is
covering this version.
This does not impact zuul jobs in any way, nor prevent local
tests against py37. It just changes the default if none is
explicitly provided.
Change-Id: I15b8430b4749bd68b5866f6041dd6c9166e795b1
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
As it was announced [1] global bindep-fallback.txt was removed and now
projects need to have a local bindep.txt to be able to install binary
dependencies for testing.
In test jobs the script tools/test-setup.sh is called which requires
mysql and postgres servers and clients to be installed.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/007272.html
Change-Id: I08797a99c7ba019a4b2dd640a83f45fea8e589bd
The file is not used anymore, remove it.
The last usage of the file was removed in
I4dae402fe37015f0f512d5e9a6426d5f39526347.
Remove also some variables from tox.ini that were used for tox_install
in the past.
Change-Id: I5797efabe1e32df0ad53513400288bd26f833315
Move the dependency out of tox.ini and into requirements.txt where it
can be managed properly.
Depends-On: https://review.openstack.org/590103
Change-Id: Ic69a4c5beb1aed2e49d2f767cb46c324fe0df0f5
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
We need to use pydot rather than pydot3 because
of a broken version comparison in networkx, where it rejects
the lower version number of pydot3.
Without this patch the taskflow unit tests which use dot for
rendering graphics are no longer runnable.
Change-Id: I676e4d76627b3ecd0e4a9b896b2b93d652ebb25d
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.
We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.
We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.
Change-Id: Id7f0cc773ddc6bdcf464574fc7faa9216db71e09
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Duplicate the dependencies that are listed in extras and place them in
a test-requirements.txt file so we can install them using the
constraints list.
In order to add the new requirements file, we have to make the constraints
and requirements match each other and the global settings.
Change-Id: I4dae402fe37015f0f512d5e9a6426d5f39526347
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Try to tidy up the formatting of the configuration file.
Change-Id: Ic492ee63f228b486da492088cd7fcb71d784b2e3
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Set the default python to python3 except for the py27 environment. We
have to set that explicitly to override the new default.
Have py27 and py3* jobs run same commands by removing the commands entry
for py27.
The pep8 rules under python 3 are different, so we need to fix a
couple of issues with blank space. The E721 rule is ignored entirely
because we are not yet using a version of flake8 that supports
ignoring individual rules on specific lines, although the instructions
for that are added so that when we upgrade flake8 to a newer version
we can remove the global rule.
Change-Id: Id236b0632a83a188958130d04f1e9c476c5ace65
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Create a tox environment for running the unit tests against the lower
bounds of the dependencies.
Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.
Add openstack-tox-lower-constraints job to the zuul configuration.
See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.
Change-Id: I1a0941d79d112b6f4fde22885df985e7caaeb2c3
Depends-On: https://review.openstack.org/555034
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
OpenStack CI does not run the docs environment, it's just for developer
convenience. Add the doc8 to the general linter environment so that it's
run during automatic testing. The general linter environment is pep8.
Disable testing of history.rst since generated ChangeLog file gives an
error:
"doc/source/user/history.rst:150: D000 Inline emphasis start-string
without end-string."
Readd sphinx to test environment so that doc8 passes tests.
Change-Id: Ia81eac686ff3a82273b1d306596c4731c86c36e6
The infra jobs expect documentation requirements in either
doc/requirements.txt or test-requirements.txt. Since neither is
available, they currently fail.
Move doc requirements to doc/requirements.txt and use that to
fix releasenotes build. Note that doc/requirements.txt needs some
requirements for code analysis of taskflow.
For the docs environment - which is a developer convenience - use the
same command that is used by OpenStack CI.
Change-Id: Iec65211e5059a4afdd88a45e2c1ac535b8ec97fe
Adding constraints support to libraries is slightly more complex than
services as the libraries themselves are listed in upper-constraints.txt
which leads to errors that you can't install a specific version and a
constrained version.
This change adds constraints support by also adding a helper script to
edit the constraints to remove taskflow.
Change-Id: I89a14733295748fff2a30f038084d75596204083
The release management team have indicated this is their preferred way
to collect release notes in future.
Change-Id: I98383e53b1d78b0bb01b16642d8b8a1b69ad3769
Signed-off-by: Chuck Short <chuck.short@canonical.com>
This makes sure we install the correct and only the correct dependencies
when installing taskflow, based on the driver one wants to use.
Change-Id: Id40f73412c76a16152b9a2f853ef9cbbd9e9e231
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.
Change-Id: I006650a6e67fd54c4823ef560ee26322c2c13428
* Remove support for python 2.6
* Remove skipsdist : Needs to be set only if
sdist is expensive
* Remove usedevelop : only needed when skipsdist
is set to True
* Remove install_command : We can just use the
default, we don't need to override
* Remove setenv : We can just use the default as
we don't need any extra environment variables
* Remove requirements.txt from deps, as this is
already added automatically
Change-Id: I3564e6d2dfaf64b573382d776e6a79a442750139
Just enforce that `python setup.py build_sphinx` will be the
way to build docs (which also builds a 'ChangeLog') so we don't
need to maintain a dummy file here anymore.
Change-Id: Icec9173c7970d84c105f151ac74dc9080ab3b1f7
Instead of having custom pyX.Y that test a specific set of
requirements and similar with other tox envs, just enable
more test-requirements directly, in a later change we will
use environment markers to denote the differences.
Also tweaks the jobboard example to bypass/hack a needed eventlet
fix into it so that it actually runs without breaking/never finishing.
A TODO note has been left to eventually (someday?) remove this hack
when it is no longer needed.
Part of fix for bug 1445827
Change-Id: I0fb669f0bdfbe4fe81d89234173f2c3ac4d06de6
This py33 environment is no longer being tested
with in an automated fashion (since the py34 environment
replaces it) so we should just remove it from the tox
ini file.
Change-Id: I3a4040b8a3c656b93b7e0ff2c20bed4119ac7c74