Gerrit features and Docker based testing
bbuhlig at codeaurora.org
bbuhlig at codeaurora.org
Fri Oct 20 01:07:30 CEST 2017
Hi, Cgit is frequently paired with Gerrit installations, so I have a
some Gerrit integration features I'd like to contribute. One is a Lua
authentication filter for Gerrit. Background is that Gerrit allows
different
users to have access to different repos, so in essence this auth filter
leverages the user's Gerrit login HTTP cookie to access the Gerrit REST
API,
which it uses to figure out whether the logged in user should have
access to
the particular repo.
Anyway, to help ensure it keeps working along with the Lua code itself,
I'd
ideally like to contribute some tests for it. But the environment those
tests would need to run in would be a bit complicated, in particular
needing:
(1) the auth filter's Lua package dependencies installed-
- specifically: crypto, ssl.https and ltn12
and,
(2) a test Gerrit instance configured that the filter could talk to,
- or a simple python/node.js based webserver that looks
sufficiently
like the part of the Gerrit REST API that the filter cares
about
An obvious way to define this environment would be a Dockerfile that the
"make test" command invokes Docker against. To enable people who don't
care
about the Gerrit auth-filter, the makefile could be setup to skip the
test
if Docker isn't installed on the build machine. But unless the cgit
maintainers were to trigger the tests in a build environment with Docker
available, the auth filter code would eventually get stale and break.
Assuming the above sounds reasonable and I provided said feature and
tests,
would it be possible for the cgit maintainers to generally have Docker
available when regularly running "make test"?
Or another option might be to leverage Travis CI to regularly kick off
cgit builds in a Docker environment that way, but doing that would tie
you
to Github in ways that you probably aren't now.
Appreciate comments. Thanks, -Blake
More information about the CGit
mailing list