To debug test failures, it can be convenient to explore the contents of
the test directories after the test runs, as they contain logs and
generated files.
This patch configures the GitLab CI to export the repo tree (which
includes the test directory) as GitLab CI artifacts, so they can be
easily accessed after the tests have completed.
This patch makes the GitLab CI config run go tests on Go 1.11 and the
latest Go release.
This is in addition to existing tests (which are renamed for clarity).
This replaces the main use case of Travis CI, which was to test on
multiple Go versions.
It can be convenient to upload images to dockerhub for redundancy and
visibility, so this patch updates the gitlab CI configuration to do
that.
While at it, rename the stages for readability.
It is useful to run the integration tests both against the submitted
dependencies, based on Go module versions from the repository, as well
as the latest ones, to catch integration problems early.
This patch extends the .gitlab-ci.yml configuration to do that, by
optionally passing a flag to "go get" to update the modules.
This patch adds a new docker directory, which contains a Dockerfile plus
some additional configuration for creating a container that runs
chasquid+dovecot+letsencrypt.
It also updates the gitlab CI pipeline to automatically build and
publish an image on each commit.
This is experimental and likely to break.