Commit Graph

23 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov 4d0c9e4899 Clarify expectations on keeping Python versions
According to the PTI it was not clear whether Python versions should
be kept whenever new platform is being adopted.

This change adds recommendation for libraries and other projects
to keep older platforms, including Python.

Change-Id: Ie2bb6c96e39eb21ab42132774699f254c7f476a9
2023-05-29 12:31:02 +02:00
Nate Johnston af6c8065da Remove references to Python 2.7 in the PTI
In Ussuri we no longer require projects to test for python 2.7, so
remove it from the list of requirements in the PTI.

Change-Id: I58aa4795008373905e3191ab72b9d713e45339cd
2019-10-04 10:55:30 -04:00
Zuul 1c32cdcdd6 Merge "Update golang PTI for OpenDev" 2019-06-17 14:40:01 +00:00
Zane Bitter 483a76d466 Update golang PTI for OpenDev
Change-Id: I20a96cc52928d4d43253b8b22b172a2fa7f2574b
2019-05-28 20:00:37 -04:00
Graham Hayes f51a0239b3
Update nodeJS PTI version for Train
Update the nodeJS version that we should use for javascript based testing
in openstack.

Change-Id: I1a594acc8f430c95d3a32f767e5508d0fcc65ac9
Signed-off-by: Graham Hayes <gr@ham.ie>
2019-05-22 15:00:45 +01:00
Thierry Carrez 6d0cf799c1 Use opendev for repository links
Update the :repo: shorthand role to use opendev instead of cgit links
in project team pages.

Make sure that the other content under the reference/ directory is
updated to use :repo: instead of cgit links (except the one in
pti/javascript.rst which should really point to the NPM package).

Change-Id: I1009ba2a0f8d0fd1dab26f05241903b71c63e4fb
2019-05-10 15:51:53 +02:00
Sean McGinnis 1a2ac45744 Explicitly declare Stein supported runtimes
This adds a PTI section to have an official declaration of
the targeted runtimes for the release. This should also be retroactively
added to other cycle sections so we have a historical record of what was
supported for that release.

Javascript section omitted because I have zero experience with Node and
NPM, but it would be good to expand on this to include all of our
official runtimes.

Change-Id: I11b136a9781dd1a77df536f099df10a6dd524e06
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2018-12-13 18:37:45 -06:00
Zuul 8ab34a608f Merge "Don't quote {posargs} in tox.ini" 2018-10-29 16:13:46 +00:00
Sean McGinnis 8ca967a7fd
Fix format errors in PTI docs
Extra spaces and unnecessary tags are causing sections to be block
quoted and other incorrect formatting in the rendered output.

Change-Id: Ibe3d35e6983febe4171a0f282e2016d342f2a817
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2018-10-16 16:34:56 -05:00
98k 7d434d4d75 Don't quote {posargs} in tox.ini
Quotes around {posargs} cause the entire string to be combined into one
arg that gets passed to stestr. This prevents passing multiple args
(e.g. '--concurrency=16 some-regex')

Change-Id: I0690c95e31b443ba2b842e7f72edd9c160723997
2018-10-10 01:47:55 +00:00
Andreas Jaeger 1f0425abc8 Add -W to sphinx-build invocation
With the new PTI interface, we build using tox -e docs. By default, we
should tread warnings as errors.

Add -W to sphinx-build everywhere where it's missing, some places had it
already, especially reference/project-testing-interface.rst.

Change-Id: Iec6f93fd45bc26d044197112c826cbaf83daca66
2018-08-28 16:24:10 +02:00
Doug Hellmann 28dbce9a87 update the pti to use tox for building docs
As part of planning out the python3 transition we realized that in
order to have a self-testing patch in each repository to switch the
documentation build to use python3, we would need to include some
information in the repository that the job would read to decide which
version of python to use. After considering several options, we
realized that this requirement meant we had set the API for the
documentation jobs at the wrong "level" of the stack.

This patch restores the use of tox for building documentation in the
standard project testing interface. Rather than using the "venv"
environment, it specifies a new environment for "docs", based on the
common pattern we have in most projects to provide that as a
convenience for developers.

The Python-specific notes about adding the environment as a
convenience are removed, since it is now required.

Change-Id: Ibdee118f30972e9dc67952b921f493e9c1a116ff
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
2018-07-09 13:23:19 -04:00
Sean McGinnis 9ecbfde532 Update docs job info to match current PTI
Our doc requirements have been updated to run documentation builds
using sphinx-build instead of calling tox. The PTI reference for
Python code still contained old recommendations to use
[build_sphinx] in setup.cfg. This updates this Python recommendation
to match what is stated in the full PTI with additions for making
local runs easier through using tox.

Change-Id: Ibdaeefdac6b6bbeef544778d2fa5c3972d180cb8
2018-03-28 16:38:04 -05:00
Zuul 185fb528a5 Merge "Fix small oversight in Python PTI for tests" 2018-02-18 18:41:09 +00:00
Matthew Treinish b1d14e874d
Fix small oversight in Python PTI for tests
In the recent change to define an explicit PTI for python testing I made
a small mistake in the tox entry. This is due to me being lazy and just
copy and pasting what I setup for Nova's tox.ini into my governance
change. melwitt recently pointed out that the use of single quotes there
prevents '--' parameters from being interpreted correctly in some cases
(mainly those with spaces). This is because using the quotes around
{posargs} in the tox.ini means the parameters are getting treated as a
single string. This has been fixed in Nova with change
I512a517fa6890b29de24060376b4d7e061dc3add and to make sure this mistake
gets fixed everywhere this commit mirrors that in the PTI document.

Change-Id: I906f643b2714637343a5f9ce2995e7e57c7586bb
2018-02-17 17:57:02 -05:00
Mathieu Mitchell 2d5618c50f Fix typo around "environment markers"
Change-Id: Ie05ae564f918b4b6413ae1d6d3e4ff91d3b79e1e
2018-01-29 22:30:34 -05:00
Zuul aa478b9fa3 Merge "Update Python PTI for tests to be specific and explicit" 2018-01-26 15:45:31 +00:00
Ian Wienand f06f383a24 Remove releasenotes/requirements.txt
In change Iaa917d4f126d24c701cd3b8b0edfba4d4e0ca9c1 we have the
proposal to not to install releasenotes/requirements.txt as projects
should not really need any extra requirements to produce releasenotes
other than reno itself being installed and available.

Remove the references to this requirements.txt file so the CI
implementation does not get out of sync with policy.  As noted by
AJaeger in the other change, not repo uses this as yet.

Change-Id: Ieab3dfde7854d76dded6b1f8dd3aab1f1071b208
Needed-by: Iaa917d4f126d24c701cd3b8b0edfba4d4e0ca9c1
2017-11-20 11:29:21 +11:00
Matthew Treinish 759c42b10c
Update Python PTI for tests to be specific and explicit
This commit updates the language in the Python PTI to be much more
specific about how projects should be running tests. This is done so we
can have a consistent experience between projects when running tests.
The current state of affairs is far from ideal in that there are about
7 different ways projects run python unit tests. (some don't even comply
with the looser previous PTI) For example::

 * PBR's testr entrpoint "python setup.py test"
   https://github.com/openstack-dev/pbr/blob/master/pbr/testr_command.py
 * testr's setup tools entrypoint "python setup.py testr"
   https://github.com/testing-cabal/testrepository/blob/master/testrepository/setuptools_command.py
 * pretty_tox.sh wrapper scripts and variants
   (this was cargo culted from tempest and diverged significantly
    between each projects' forks)
 * ostestr (which is part of the os-testr package, but it's not the
   only thing there)
 * nosetests (the horizon case for django testing will likely be a
   continued exception)
 * proboscis

(which are just the examples I know of off the top of my head) For
anyone trying to work in multiple projects navigating this can be
quite tricky, especially when trying to debug a failure. To clean this
up, this patch defines one way to run python tests.

Besides making the wording more explicit and providing specifics this
commit also tries to provide some additional background information on
why we use stestr. It's not always obvious the advantages it provides
us, so this attempts to document it at a high level for the ages.

Change-Id: I2637dd714cbb6d38ef8b8dc1083e359207118284
2017-11-15 10:57:01 -05:00
Monty Taylor df438a7370
Add mention of releasenotes to the PTI
We expect this of OpenStack projects now. Be explicit about it.

Use the same overall structure as is used for Sphinx. Because we expect
reno requirements to be a much more consistent set, make listing them
explicitly in the repo optional. A reno releasenotes job should be able
to know what it needs to install to generate reno docs without any
specific instructions from the repo itself.

Change-Id: I1cfa2216451d056c1bdedd67186131c5e0901ecb
2017-10-05 13:27:25 -05:00
Monty Taylor 2c0cdd2738
Update PTI around documentation jobs
Update our PTI for docs to be more about show Sphinx should operate.
Remove the mention of tox -evenv -- python setup.py build_sphinx which
is super OpenStack specific and ALSO doens't make anything any easier.

Define the Sphinx config and setup and apply it to all of the languages.
Then add a mention of developer-convenience additions for each language.

This should allow us to do sphinx docs one way regardless of language
without adding tox requirements to non-python projects, and to have our
python projects behave in a way consistent with other parts of the
python ecosystem such as readthedocs.

Change-Id: Ief487e1d20ea20facf398367ca03a6385182fb38
2017-10-05 13:17:38 -05:00
Monty Taylor 2678231163
Remove tox from PTI for python tarballs
Python tarball generation does not need a virtualenv. Having our
projects use a tox virtualenv for tarball generation is a divergence
from how other python projects work that does not bring benefit.

Change-Id: Ia82a9d02be76446216eec7448bd754753cb41e17
2017-09-30 10:39:07 -05:00
Monty Taylor 41c529c602
Align CTI to PTI
When we talk about the PTI, we tend to say "PTI". In fact, the original
filename is "reference/project-testing-interface.rst". However, the
pre-language files use the cti acronym, as do all of the title lines.

Let's align with the acronym people use when discussing the concept.

Also, remove the suffix from the language files - they're in a directory
called "pti" already, they don't need a _pti suffix.

Change-Id: I53bc82eb2cb2125d7446a5f7d0be622118553732
2017-09-30 10:39:07 -05:00