We use jinja in our docs builds and those functions are going to be used
more widely so lets make it clear we need Jinja2
Change-Id: I0d23a8633b90665787c303420c534ab4391f7b1d
Now that we have the election_type in configuration.yaml we can stop
manually switching the include in index.rst as we open the election.
Depends-On: https://review.openstack.org/561075
Change-Id: I33fbbc9e2c0e2dfcdf38290bc103b126cffdea0a
If we run the tools (create-directories or check-all-candidacies) under
python3 they'll fail with silly errors (like[1]). This is because we
have a number of assumptions they we'll be running under python2 like:
- pickle.protocol: we done specify one so if we write a pickle file
from python3 we can't read it in python2.
- urllib and urlparse: those modules change paths in python 2 or 3 so
use the six helpers to get the bits we want.
- Explicitly write files in binary format
- Various str vs bytes issues
- dict().keys() returns dict_keys under python3 explictly cast that to
list()
After addressing these issues we can run the tools under either python2
or python3. To make this easy to check create explicit ven2 and venv3
test environments, leaving all other testenvs to use the system default.
[1] http://paste.openstack.org/show/593823/
Change-Id: I20334a52500847c810b486c9c8b108e75a5d6303
Right now this script includes the data and needs to be updated after
each election.
We could factor out the data in the future
Change-Id: I60ba91efabb280e91b2481d20df0b16ec5471036
This is a large change as it does several things
1. Moves to using the gerrit REST API to collecting open reviews (as
opposed to ssh)
2. Moves the selection of validating commits from scraping git logs to
the gerrit REST API
3. Uses the new utils.py function for getting the project data
4. Avoids any git checkouts/downloads during the validation process
5. tools/check-new-candidacy still checks all open changes
6. tools/check-ptl-candidacy.py checks a single change, now specified as
a change ID rather then a file path
Work to be done in follow-up commits
1. Add testing, now that this is more modular we can mock json blobs to
test code and avoid regressions
2. Add a manual toll to specify a project and community member and check
that, even if it doesn't match data in an open review
3. Add quality tools such as flake8 / yamllint to keep code/data neat
4. Modify the docs generation to understand that files are now IRC nicks
and to get the change author as the candidate.
Change-Id: Ibd7fad3eb4d39f1edca624b981fa602d2b4c4d40