| dist: bionic |
| language: go |
| os: linux |
| go: |
| - 1.15.x |
| - 1.14.x |
| - tip |
| cache: |
| directories: |
| - /home/travis/.vagrant.d/boxes |
| jobs: |
| include: |
| - go: 1.15.x |
| name: "verify-dependencies" |
| script: |
| - make verify-dependencies |
| - go: 1.15.x |
| name: "cgroup-systemd" |
| env: |
| - RUNC_USE_SYSTEMD=1 |
| script: |
| - make all |
| - sudo PATH="$PATH" make localintegration RUNC_USE_SYSTEMD=1 |
| - name: "fedora32" |
| before_install: |
| - sudo ./script/install-vagrant.sh |
| - ln -sf Vagrantfile.fedora32 Vagrantfile |
| - sudo vagrant up && sudo mkdir -p /root/.ssh && sudo sh -c "vagrant ssh-config >> /root/.ssh/config" |
| script: |
| - sudo ssh default -t 'cd /vagrant && sudo make localunittest' |
| # cgroupv2+systemd: test on vagrant host itself as we need systemd |
| - sudo ssh default -t 'cd /vagrant && sudo make localintegration RUNC_USE_SYSTEMD=yes' |
| # same setup but with fs2 driver instead of systemd |
| - sudo ssh default -t 'cd /vagrant && sudo make localintegration' |
| # cgroupv2+systemd (rootless) |
| - sudo ssh default -t 'cd /vagrant && sudo make localrootlessintegration RUNC_USE_SYSTEMD=yes' |
| # same setup but with fs2 driver (rootless) instead of systemd |
| - sudo ssh default -t 'cd /vagrant && sudo make localrootlessintegration' |
| - name: "centos7" |
| before_install: |
| - sudo ./script/install-vagrant.sh |
| - ln -sf Vagrantfile.centos7 Vagrantfile |
| - sudo vagrant up && sudo mkdir -p /root/.ssh && sudo sh -c "vagrant ssh-config >> /root/.ssh/config" |
| script: |
| # kernel 3.10 (frankenized), systemd 219 |
| - sudo ssh default 'rpm -q centos-release kernel systemd' |
| - sudo ssh default -t 'sudo -i make -C /vagrant localunittest' |
| - sudo ssh default -t 'sudo -i make -C /vagrant localintegration' |
| - sudo ssh default -t 'sudo -i make -C /vagrant localintegration RUNC_USE_SYSTEMD=1' |
| # FIXME: rootless is skipped because of EPERM on writing cgroup.procs |
| # - sudo ssh default -t 'sudo -i make -C /vagrant localrootlessintegration' |
| |
| allow_failures: |
| - go: tip |
| |
| go_import_path: github.com/opencontainers/runc |
| |
| # `make ci` uses Docker. |
| services: |
| - docker |
| |
| before_install: |
| - sudo apt-get -qq update |
| - sudo apt-get install -y libseccomp-dev |
| - GO111MODULE=off go get -u golang.org/x/lint/golint |
| - GO111MODULE=off go get -u github.com/vbatts/git-validation |
| - GO111MODULE=off go get github.com/mvdan/sh/cmd/shfmt |
| - env | grep TRAVIS_ |
| |
| script: |
| - git-validation -run DCO,short-subject -v |
| - make |
| - make clean ci cross |