Rework how mixer-ci is built and remove it from the test matrix as it is no longer automatically updated as github's runner isn't able to build it at this time. Signed-off-by: William Douglas <william.douglas@intel.com>
Mixer CI Container
This repo provides a Clear Linux* container for running the Mixer CI on Travis. This container has all of the packages and tools installed to build Mixer from source and run its test suite.
Build
Building Locally
docker build -t clearlinux/mixer-ci .
Note:
If you are behind a firewall, you may need to pass proxy settings to the build environment:
--build-arg https_proxy="$https_proxy"
--build-arg http_proxy="$http_proxy"
--build-arg no_proxy="$no_proxy"flags to docker build; note these only impact the Build Environment and will not become part of the image being built.
Pulling from Dockerhub
docker pull clearlinux/mixer-ci
Use
Create a derivative Dockerfile
This image creates a container with a user named clr, with the GOPATH in
/home/clr/go.
Create a Dockerfile based on this mixer-ci image. In this Dockerfile, copy
the source code into the mixer-tools package root within the GOPATH,
then execute the build and test steps. An example Dockerfile is as follows:
FROM clearlinux/mixer-ci:latest
COPY --chown=clr:clr . /home/clr/go/src/github.com/clearlinux/mixer-tools/
WORKDIR /home/clr/go/src/github.com/clearlinux/mixer-tools
ENTRYPOINT ["/bin/sh", "-c", "make && sudo -E make install && make lint && make check"]
Note:
You can inspect Mixer's Dockerfile to see how this is used in production.
Configure Travis to build and run the Dockerfile
In your Travis config (.travis.yml), build and run your above Dockerfile. An
example .travis.yml file is as follows:
language: go
sudo: required
go:
- 1.9
go_import_path: github.com/clearlinux/mixer-tools
services:
- docker
before_install:
- docker build -t testdock .
script:
- docker run testdock
Note:
You can inspect Mixer's Travis config to see how this is used in production. For more information on Travis configuration, see the Travis documentation.