Stop using build to run the tests, allow using podman
To use podman run the tests like this:
DOCKER=podman make test-in-docker
This now builds the welder/lorax-tests image as a separate step from
running the tests.
Running the tests uses the welder/lorax-tests image and mounts the
source directory read-only, copies it into /lorax-test/ and runs the
tests from there.
(cherry picked from commit 8a26d0648e
)
This commit is contained in:
parent
a2797e8f1b
commit
4c71adadd5
@ -1,5 +1,4 @@
|
|||||||
FROM registry.fedoraproject.org/fedora:29
|
FROM registry.fedoraproject.org/fedora:29
|
||||||
|
|
||||||
RUN dnf -y install \
|
RUN dnf -y install \
|
||||||
anaconda-tui \
|
anaconda-tui \
|
||||||
libgit2-glib \
|
libgit2-glib \
|
||||||
@ -22,15 +21,8 @@ RUN dnf -y install \
|
|||||||
beakerlib \
|
beakerlib \
|
||||||
sudo \
|
sudo \
|
||||||
tito \
|
tito \
|
||||||
|
rsync \
|
||||||
which
|
which
|
||||||
|
|
||||||
RUN useradd weldr
|
RUN useradd weldr
|
||||||
|
VOLUME /lorax
|
||||||
RUN mkdir /lorax
|
|
||||||
COPY . /lorax
|
|
||||||
# remove byte-compiled files to avoid issues between Python 2/3
|
|
||||||
# this can happen when you switch between rhel7 and master branches
|
|
||||||
RUN find /lorax -name "*.pyc" -exec rm -f {} \;
|
|
||||||
|
|
||||||
WORKDIR /lorax
|
WORKDIR /lorax
|
||||||
RUN make check test
|
|
||||||
|
11
Makefile
11
Makefile
@ -2,12 +2,14 @@ PYTHON ?= /usr/bin/python3
|
|||||||
DESTDIR ?= /
|
DESTDIR ?= /
|
||||||
PREFIX ?= /usr
|
PREFIX ?= /usr
|
||||||
mandir ?= $(PREFIX)/share/man
|
mandir ?= $(PREFIX)/share/man
|
||||||
|
DOCKER ?= docker
|
||||||
|
|
||||||
PKGNAME = lorax
|
PKGNAME = lorax
|
||||||
VERSION = $(shell awk '/Version:/ { print $$2 }' $(PKGNAME).spec)
|
VERSION = $(shell awk '/Version:/ { print $$2 }' $(PKGNAME).spec)
|
||||||
RELEASE = $(shell awk '/Release:/ { print $$2 }' $(PKGNAME).spec | sed -e 's|%.*$$||g')
|
RELEASE = $(shell awk '/Release:/ { print $$2 }' $(PKGNAME).spec | sed -e 's|%.*$$||g')
|
||||||
TAG = lorax-$(VERSION)-$(RELEASE)
|
TAG = lorax-$(VERSION)-$(RELEASE)
|
||||||
|
|
||||||
|
IMAGE_RELEASE = $(shell awk -F: '/FROM/ { print $$2}' Dockerfile.test)
|
||||||
|
|
||||||
default: all
|
default: all
|
||||||
|
|
||||||
@ -74,11 +76,16 @@ local:
|
|||||||
@rm -rf /var/tmp/$(PKGNAME)-$(VERSION)
|
@rm -rf /var/tmp/$(PKGNAME)-$(VERSION)
|
||||||
@echo "The archive is in $(PKGNAME)-$(VERSION).tar.gz"
|
@echo "The archive is in $(PKGNAME)-$(VERSION).tar.gz"
|
||||||
|
|
||||||
|
test-in-copy:
|
||||||
|
rsync -aP --exclude=.git /lorax/ /lorax-test/
|
||||||
|
make -C /lorax-test/ check test
|
||||||
|
|
||||||
test-in-docker:
|
test-in-docker:
|
||||||
sudo docker build -t welder/lorax:latest -f Dockerfile.test .
|
sudo $(DOCKER) build -t welder/lorax-tests:$(IMAGE_RELEASE) -f Dockerfile.test .
|
||||||
|
sudo $(DOCKER) run --rm -it -v `pwd`:/lorax:ro --security-opt label=disable welder/lorax-tests:$(IMAGE_RELEASE) make test-in-copy
|
||||||
|
|
||||||
docs-in-docker:
|
docs-in-docker:
|
||||||
sudo docker run -it --rm -v `pwd`/docs/html/:/lorax/docs/html/ --security-opt label=disable welder/lorax-composer:latest make docs
|
sudo $(DOCKER) run -it --rm -v `pwd`/docs/html/:/lorax/docs/html/ --security-opt label=disable welder/lorax-tests:$(IMAGE_RELEASE) make docs
|
||||||
|
|
||||||
ci: check test
|
ci: check test
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user