summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.papr.sh37
-rw-r--r--.papr.yml18
-rw-r--r--.travis.yml1
-rw-r--r--Makefile29
4 files changed, 71 insertions, 14 deletions
diff --git a/.papr.sh b/.papr.sh
new file mode 100755
index 000000000..fb837d661
--- /dev/null
+++ b/.papr.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+set -xeuo pipefail
+
+export GOPATH=$HOME/gopath
+export PATH=$HOME/gopath/bin:$PATH
+export GOSRC=$HOME/gopath/src/github.com/projectatomic/libpod
+
+(mkdir -p $GOSRC && cd /code && cp -r . $GOSRC)
+
+dnf install -y \
+ bats \
+ btrfs-progs-devel \
+ bzip2 \
+ device-mapper-devel \
+ findutils \
+ git \
+ glib2-devel \
+ gnupg \
+ golang \
+ gpgme-devel \
+ libassuan-devel \
+ libseccomp-devel \
+ libselinux-devel \
+ skopeo-containers \
+ runc \
+ make \
+ ostree-devel \
+ python \
+ which
+
+# PAPR adds a merge commit, for testing, which fails the
+# short-commit-subject validation test, so tell git-validate.sh to only check
+# up to, but not including, the merge commit.
+export GITVALIDATE_TIP=$(cd $GOSRC; git log -2 --pretty='%H' | tail -n 1)
+export TAGS="seccomp $($GOSRC/hack/btrfs_tag.sh) $($GOSRC/hack/libdm_tag.sh) $($GOSRC/hack/btrfs_installed_tag.sh) $($GOSRC/hack/ostree_tag.sh) $($GOSRC/hack/selinux_tag.sh)"
+make -C $GOSRC binaries install.tools all gofmt localintegration testunit TAGS="${TAGS}"
+#make -C $GOSRC lint
diff --git a/.papr.yml b/.papr.yml
new file mode 100644
index 000000000..d52219411
--- /dev/null
+++ b/.papr.yml
@@ -0,0 +1,18 @@
+branches:
+ - master
+ - auto
+ - try
+
+host:
+ distro: fedora/26/atomic
+ specs:
+ ram: 8192
+
+required: true
+
+tests:
+ # mount yum repos to inherit injected mirrors from PAPR
+ - docker run --net=host --privileged -v /etc/yum.repos.d:/etc/yum.repos.d.host:ro
+ -v /tmp:/tmp -v /var/tmp:/var/tmp
+ -v $PWD:/code registry.fedoraproject.org/fedora:26 sh -c
+ "cp -fv /etc/yum.repos.d{.host/*.repo,} && /code/.papr.sh"
diff --git a/.travis.yml b/.travis.yml
index be326c1ae..a079aa21e 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -55,6 +55,7 @@ jobs:
go: tip
- stage: Integration Test
script:
+ - make all
- make integration
go: 1.8.x
diff --git a/Makefile b/Makefile
index bf3dd44cf..d741f15a1 100644
--- a/Makefile
+++ b/Makefile
@@ -3,14 +3,14 @@ EPOCH_TEST_COMMIT ?= 1cc5a27
PROJECT := github.com/projectatomic/libpod
GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null)
GIT_BRANCH_CLEAN := $(shell echo $(GIT_BRANCH) | sed -e "s/[^[:alnum:]]/-/g")
-CRIO_IMAGE := crio_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
-CRIO_INSTANCE := crio_dev
+LIBPOD_IMAGE := libpod_dev$(if $(GIT_BRANCH_CLEAN),:$(GIT_BRANCH_CLEAN))
+LIBPOD_INSTANCE := libpod_dev
PREFIX ?= ${DESTDIR}/usr/local
BINDIR ?= ${PREFIX}/bin
LIBEXECDIR ?= ${PREFIX}/libexec
MANDIR ?= ${PREFIX}/share/man
ETCDIR ?= ${DESTDIR}/etc
-ETCDIR_CRIO ?= ${ETCDIR}/crio
+ETCDIR_LIBPOD ?= ${ETCDIR}/crio
BUILDTAGS ?= seccomp $(shell hack/btrfs_tag.sh) $(shell hack/libdm_tag.sh) $(shell hack/btrfs_installed_tag.sh) $(shell hack/ostree_tag.sh) $(shell hack/selinux_tag.sh)
BASHINSTALLDIR=${PREFIX}/share/bash-completion/completions
@@ -69,7 +69,7 @@ lint: .gopathok
gofmt:
@./hack/verify-gofmt.sh
-bin/conmon:
+conmon:
$(MAKE) -C $@
test/bin2img/bin2img: .gopathok $(wildcard test/bin2img/*.go)
@@ -81,7 +81,7 @@ test/copyimg/copyimg: .gopathok $(wildcard test/copyimg/*.go)
test/checkseccomp/checkseccomp: .gopathok $(wildcard test/checkseccomp/*.go)
$(GO) build $(LDFLAGS) -tags "$(BUILDTAGS) containers_image_ostree_stub" -o $@ $(PROJECT)/test/checkseccomp
-bin/kpod: .gopathok $(shell hack/find-godeps.sh $(GOPKGDIR) cmd/kpod $(PROJECT))
+kpod: .gopathok $(shell hack/find-godeps.sh $(GOPKGDIR) cmd/kpod $(PROJECT))
$(GO) build $(LDFLAGS_KPOD) -tags "$(BUILDTAGS)" -o bin/$@ $(PROJECT)/cmd/kpod
clean:
@@ -99,22 +99,23 @@ endif
rm -f test/copyimg/copyimg
rm -f test/checkseccomp/checkseccomp
-crioimage:
- docker build -t ${CRIO_IMAGE} .
+libpodimage:
+ docker build -t ${LIBPOD_IMAGE} .
-dbuild: crioimage
- docker run --name=${CRIO_INSTANCE} --privileged ${CRIO_IMAGE} -v ${PWD}:/go/src/${PROJECT} --rm make binaries
+dbuild: libpodimage
+ docker run --name=${LIBPOD_INSTANCE} --privileged ${LIBPOD_IMAGE} -v ${PWD}:/go/src/${PROJECT} --rm make binaries
-integration: crioimage
- docker run -e STORAGE_OPTIONS="--storage-driver=vfs" -e TESTFLAGS -e TRAVIS -t --privileged --rm -v ${CURDIR}:/go/src/${PROJECT} ${CRIO_IMAGE} make localintegration
+integration: libpodimage
+ docker run -e STORAGE_OPTIONS="--storage-driver=vfs" -e TESTFLAGS -e TRAVIS -t --privileged --rm -v ${CURDIR}:/go/src/${PROJECT} ${LIBPOD_IMAGE} make localintegration
testunit:
$(GO) test -tags "$(BUILDTAGS)" -cover $(PACKAGES)
-localintegration: clean binaries test-binaries
+localintegration: test-binaries
./test/test_runner.sh ${TESTFLAGS}
-binaries: bin/conmon bin/kpod
+binaries: conmon kpod
+
test-binaries: test/bin2img/bin2img test/copyimg/copyimg test/checkseccomp/checkseccomp
MANPAGES_MD := $(wildcard docs/*.md)
@@ -136,7 +137,7 @@ install.man:
install ${SELINUXOPT} -m 644 $(filter %.1,$(MANPAGES)) -t $(MANDIR)/man1
install.config:
- install ${SELINUXOPT} -D -m 644 seccomp.json $(ETCDIR_CRIO)/seccomp.json
+ install ${SELINUXOPT} -D -m 644 seccomp.json $(ETCDIR_LIBPOD)/seccomp.json
install ${SELINUXOPT} -D -m 644 crio-umount.conf $(OCIUMOUNTINSTALLDIR)/crio-umount.conf
install.completions: