From: Naga Sugguna Date: Thu, 30 May 2019 14:56:19 +0000 (+0000) Subject: Merge "Organize file structure for tests" X-Git-Tag: 2.0.0~83 X-Git-Url: https://gerrit.akraino.org/r/gitweb?p=validation.git;a=commitdiff_plain;h=bd9a2c23681b068c3675ccc228fc641956b3db84;hp=980caf9de32c2a8a04415d584b968f7582abcd75 Merge "Organize file structure for tests" --- diff --git a/docker/Makefile b/docker/Makefile index 426d22d..707dbc8 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -33,11 +33,11 @@ $(SUBDIRS_NAME): $(MAKE) -C $@ .PHONY: $(SUBDIRS_BUILD) -$(SUBDIRS_BUILD): $(SUBDIRS) - $(MAKE) -C $< build +$(SUBDIRS_BUILD): + $(MAKE) -C $(@:-build=) build .PHONY: $(SUBDIRS_PUSH) -$(SUBDIRS_PUSH): $(SUBDIRS) - $(MAKE) -C $< .push_image +$(SUBDIRS_PUSH): + $(MAKE) -C $(@:-push=) .push_image include build.mk diff --git a/docker/os/Dockerfile b/docker/os/Dockerfile new file mode 100644 index 0000000..41a0f07 --- /dev/null +++ b/docker/os/Dockerfile @@ -0,0 +1,51 @@ +############################################################################## +# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you maynot use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +############################################################################## + +# ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds +FROM python:3.6-alpine3.9 as build + +# Install dependencies +COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt +RUN apk --no-cache add --update \ + gcc \ + git \ + libc-dev \ + libffi \ + libffi-dev \ + make \ + openssl-dev + +# Build binaries +WORKDIR /wheels +RUN pip3 install wheel +RUN pip3 wheel -r /wheels/requirements/pip-requirements.txt +RUN git clone https://gerrit.akraino.org/r/validation /opt/akraino/validation + +# Copy binaries in the final contaier and install robot framework +FROM python:3.6-alpine3.9 +COPY --from=build /wheels /wheels +COPY --from=build /opt/akraino/validation /opt/akraino/validation + +RUN pip3 install -r /wheels/requirements/pip-requirements.txt \ + -f /wheels && \ + rm -rf /wheels && \ + rm -rf /root/.cache/pip/* + +# Set the default command for running the tests +CMD /usr/local/bin/robot --exitonfailure --loglevel DEBUG \ + --outputdir /opt/akraino/validation/results/os \ + /opt/akraino/validation/os/ltp.robot + diff --git a/docker/os/Makefile b/docker/os/Makefile new file mode 100644 index 0000000..a5b4099 --- /dev/null +++ b/docker/os/Makefile @@ -0,0 +1,23 @@ +############################################################################## +# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you maynot use this file except in compliance with the License. # +# # +# You may obtain a copy of the License at # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +############################################################################## + +.PHONY: all +all: .push_image .push_manifest + +.PHONY: build +build: .build + +include ../build.mk diff --git a/docker/os/pip-requirements.txt b/docker/os/pip-requirements.txt new file mode 100644 index 0000000..6139a45 --- /dev/null +++ b/docker/os/pip-requirements.txt @@ -0,0 +1,4 @@ +robotframework +robotframework-httplibrary +robotframework-requests +robotframework-sshlibrary