Gerrit features and Docker based testing

bbuhlig at bbuhlig at
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 
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 
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, 
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 

   (1) the auth filter's Lua package dependencies installed-
         - specifically: crypto, ssl.https and ltn12
   (2) a test Gerrit instance configured that the filter could talk to,
         - or a simple python/node.js based webserver that looks 
           like the part of the Gerrit REST API that the filter cares 

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 
about the Gerrit auth-filter, the makefile could be setup to skip the 
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 
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 
to Github in ways that you probably aren't now.

Appreciate comments. Thanks, -Blake

More information about the CGit mailing list