-
Notifications
You must be signed in to change notification settings - Fork 88
Maintainer guides
The coding style we're using is checked and semi-enforced by a linter CI job.
In order to reproduce that locally, use flake8
.
In case it keeps warning about 80-chars per line, make it load its options from tox.ini
, i.e., flake8 --config tox.ini
(but that should be the default today).
However, we still have plenty of warnings in the code base, so it makes sense to only perform a linter check on the changed content. This filtering is not foolproof because sometimes a change of line A results in a warning on line B (think of unused imports), but it's a useful tool. It works roughly like this:
# check the uncommited, unstaged changes
git diff | flake8 --diff
# check stuff against upstream's master branch
git diff origin/master..HEAD | flake8 --diff
When @jktjkt gets run over by a bus, the show should go on.
We're using Zuul managed by and hosted at Vexxhost. Support is done via tickets, currently only @jktjkt has access. This is our main target platform for development because it's working well with Gerrit. That way, we get per-patch review, and it's much less painful than dealing with GitHub PRs.
In order to show a shiny green check mark on commits, and to support the related fanciness, we're also using GitHub Actions for running some checks on each push and on each PR (for those cases when someone sends a PR).
This is also used for automating releases -- just push a signed tag which begins with the v
prefix, and PyPI and Docker gets updated with the right thing.
Access: Jan's private account, Esther, and a Jan's dedicated account managed by @jktjkt and tied to his @telecominfraproject.com
e-mail.
That one has issued service tokens which can upload releases automatically.
Upon a push of the release tag, a new release of the gnpy
package gets uploaded automatically.
GitHub Actions also build and upload a Docker image:
- one per each push, tagged as
master
and as a specific commit ID, such asv2.3.1-27-g88e2a0c7
- one for each release, such as
v2.3.1
The uploads go to the telecominfraproject
organization, but the service token was issued via the jktjkt
account.