Migrate from Travis to Papr (formerly redhat-ci)

It's extremely difficult to maintain a CI testing envornment when
it's base is an ancient Ubuntu-based distro that doesn't keep
pace with upstream kernel features and fixes.  Switch to Papr,
which allows testing based off of very-modern Fedora releases.

Signed-off-by: Chris Evich <cevich@redhat.com>
This commit is contained in:
Chris Evich 2017-07-31 16:22:23 -04:00
parent 3103524dea
commit 9d33eed97a
5 changed files with 92 additions and 40 deletions

64
.papr.yml Normal file
View file

@ -0,0 +1,64 @@
---
host:
distro: fedora/26/cloud
context: 'Go-tip'
env:
go_version: "tip"
timeout: 30m
packages:
- btrfs-tools
- libdevmapper-devel
- libgpgme11-devel
- libapparmor-devel
- libseccomp-devel
- autoconf
- automake
- bison
- e2fslibs-devel
- libfuse-devel
- libtool
- liblzma-devel
- docker
tests:
# Set common env. vars here, so only $go_version needs to vary between contexts
- export PATH="$HOME/gopath/bin:$PATH"
- export LD_LIBRARY_PATH="/usr/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
- export
- |
# Script filenames easily renamed, don't forget to upd artifacts (below)
for filename in .papr_first.sh .papr_second.sh .papr_third.sh:
do
echo "------------------------------------------------------"
echo "------------------- $filename"
echo "------------------------------------------------------"
"./$filename" &> ${filename}.output || break;
done
artifacts:
- .papr_first.sh.output
- .papr_second.sh.output
- .papr_third.sh.output
---
context: 'Go-1.8.x'
env:
go_version: "1.8.x"
---
context: 'Go-1.7.x'
env:
go_version: "1.7.x"
---
context: 'Go-1.6.x'
env:
go_version: "1.6.x"

7
.papr_first.sh Normal file
View file

@ -0,0 +1,7 @@
#!/bin/bash
set -ex
echo "...pretend installing $go_version down /usr/local..."
make install.tools

9
.papr_second.sh Normal file
View file

@ -0,0 +1,9 @@
#!/bin/bash
set -ex
git clone https://github.com/ostreedev/ostree ../ostree
cd ../ostree
./autogen.sh --prefix=/usr/local
make all
sudo make install

12
.papr_third.sh Normal file
View file

@ -0,0 +1,12 @@
#!/bin/bash
set -ex
make .gitvalidation
make gofmt
make lint
make integration
make docs
make
echo "... pretending to send notification to chat.freenode.net#cri-o ..."

View file

@ -1,40 +0,0 @@
language: go
go:
- 1.6.x
- 1.7.x
- 1.8.x
- tip
sudo: required
services:
- docker
before_install:
- sudo apt-get -qq update
- sudo apt-get -qq install btrfs-tools libdevmapper-dev libgpgme11-dev libapparmor-dev libseccomp-dev
- sudo apt-get -qq install autoconf automake bison e2fslibs-dev libfuse-dev libtool liblzma-dev
install:
- make install.tools
- git clone https://github.com/ostreedev/ostree ${TRAVIS_BUILD_DIR}/ostree
- pushd ${TRAVIS_BUILD_DIR}/ostree
- ./autogen.sh --prefix=/usr/local
- make all
- sudo make install
- popd
before_script:
- export PATH=$HOME/gopath/bin:$PATH
- export LD_LIBRARY_PATH=/usr/local/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
script:
- make .gitvalidation
- make gofmt
- make lint
- make integration
- make docs
- make
notifications:
irc: "chat.freenode.net#cri-o"