Commit e6d4bcfe authored by vmasip's avatar vmasip
Browse files

New Makefile. Dockerfiles functional for arm64

parent eddc57c3
FROM compss/base18:latest
ARG ROOT_CONTAINER=compss/base18:latest
FROM $ROOT_CONTAINER
MAINTAINER COMPSs Support <support-compss@bsc.es>
ARG release=false
......@@ -7,15 +8,15 @@ ARG release=false
COPY . /framework
ENV GRADLE_HOME /opt/gradle
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-arm64/
ENV PATH $PATH:/opt/COMPSs/Runtime/scripts/user:/opt/COMPSs/Bindings/c/bin:/opt/COMPSs/Runtime/scripts/utils:/opt/gradle/bin
ENV CLASSPATH $CLASSPATH:/opt/COMPSs/Runtime/compss-engine.jar
ENV LD_LIBRARY_PATH /opt/COMPSs/Bindings/bindings-common/lib:$JAVA_HOME/jre/lib/amd64/server
ENV LD_LIBRARY_PATH /opt/COMPSs/Bindings/bindings-common/lib:$JAVA_HOME/jre/lib/arm64/server
ENV COMPSS_HOME=/opt/COMPSs/
# Install COMPSs
RUN cd /framework && \
./submodules_get.sh && \
apt update -y && apt install git -y && ./submodules_get.sh && \
./submodules_patch.sh && \
sudo -E /framework/builders/buildlocal /opt/COMPSs && \
mv /root/.m2 /home/jenkins/ && \
......
# Copyright 2016 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not 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.
TAG = 2.10
PREFIX = registry.gitlab.bsc.es/ppc-bsc/software/compss/
IMAGE = compss
all: push
image:
docker build . -f utils/docker/base/Dockerfile -t $(PREFIX)conn-ubuntu-base:latest
docker build --build-arg ROOT_CONTAINER=$(PREFIX)conn-ubuntu-base:latest . -f Dockerfile -t $(PREFIX)$(IMAGE):$(TAG)
push: image
docker push $(PREFIX)conn-ubuntu-base:latest
docker push $(PREFIX)$(IMAGE):$(TAG)
clean:
\ No newline at end of file
......@@ -41,31 +41,31 @@ RUN apt-get update && \
# Python modules
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
python2 get-pip.py && \
#python2 get-pip.py && \
rm get-pip.py && \
python2 -m pip install --upgrade pip && \
#python2 -m pip install --upgrade pip && \
python3 -m pip install --upgrade pip && \
pip2 install --no-cache-dir wheel numpy==1.15.4 dill guppy==0.1.11 decorator mpi4py==1.3.1 && \
#pip2 install --no-cache-dir wheel numpy==1.15.4 dill guppy==0.1.11 decorator mpi4py==1.3.1 && \
pip3 install --no-cache-dir wheel numpy==1.15.4 dill guppy3==3.1.0 decorator mpi4py==3.0.1 && \
#Ubuntu:20
# pip2 install --no-cache-dir wheel numpy==1.15.4 dill guppy==0.1.11 decorator mpi4py && \
# pip3 install --no-cache-dir wheel numpy==1.15.4 dill guppy3==3.1.0 decorator mpi4py && \
# Python-redis dependencies
pip2 install --no-cache-dir redis==2.10.6 redis-py-cluster && \
#pip2 install --no-cache-dir redis==2.10.6 redis-py-cluster && \
pip3 install --no-cache-dir redis==2.10.6 redis-py-cluster && \
# pycompsslib dependencies
pip2 install --no-cache-dir scipy==1.0.0 scikit-learn==0.19.1 pandas==0.23.1 && \
pip3 install --no-cache-dir scipy==1.0.0 scikit-learn==0.19.1 pandas==0.23.1 && \
#pip2 install --no-cache-dir scipy==1.0.0 scikit-learn==0.19.1 pandas==0.23.1 && \
#RUN pip3 install --no-cache-dir scipy scikit-learn pandas && \
#Ubuntu:20
# pip2 install --no-cache-dir scipy scikit-learn pandas && \
# pip3 install --no-cache-dir scipy scikit-learn pandas && \
# AutoParallel dependencies
pip2 install --no-cache-dir astor sympy enum34 islpy && \
#pip2 install --no-cache-dir astor sympy enum34 islpy && \
# Pycodestyle
pip2 --no-cache-dir install install pycodestyle && \
#pip2 --no-cache-dir install install pycodestyle && \
pip3 --no-cache-dir install install pycodestyle && \
# Streaming dependencies
......@@ -74,27 +74,28 @@ RUN apt-get update && \
rm gradle-5.4.1-bin.zip && \
ln -s /opt/gradle-5.4.1 /opt/gradle && \
echo "GRADLE_HOME=/opt/gradle" >> /etc/environment && \
pip2 --no-cache-dir install kafka-python && \
#pip2 --no-cache-dir install kafka-python && \
pip3 --no-cache-dir install kafka-python && \
# Testing dependencies
pip3 --no-cache-dir install enum34 tabulate && \
# Numba dependencies
pip2 --no-cache-dir install llvmlite==0.31.0 numba && \
pip3 --no-cache-dir install llvmlite>=0.31.0 numba && \
#pip2 --no-cache-dir install llvmlite==0.31.0 numba && \
apt install llvm-9 -y && \
LLVM_CONFIG=llvm-config-9 pip3 --no-cache-dir install llvmlite>=0.31.0 numba && \
# Jupyter dependencies
pip2 --no-cache-dir install jupyter ipykernel nbconvert==5.6.1 && \
python2 -m ipykernel install && \
pip3 --no-cache-dir install jupyter ipykernel nbconvert==5.6.1 && \
python3 -m ipykernel install && \
#pip2 --no-cache-dir install jupyter ipykernel nbconvert==5.6.1 && \
#python2 -m ipykernel install && \
#pip3 --no-cache-dir install jupyter ipykernel nbconvert==5.6.1 && \
#python3 -m ipykernel install && \
# Testing
pip2 --no-cache-dir install nose matplotlib && \
pip3 --no-cache-dir install nose matplotlib && \
pip3 --no-cache-dir install pytest pytest-cov pytest-notebook nbval && \
#pip2 --no-cache-dir install nose matplotlib && \
#pip3 --no-cache-dir install nose matplotlib && \
#pip3 --no-cache-dir install pytest pytest-cov pytest-notebook nbval && \
# Patch guppy for python2
file_to_patch=$(python2 -c "from __future__ import print_function; import guppy.heapy.View as hpv; print(hpv.__file__[:-1]) if hpv.__file__.endswith('c') else print(hpv.__file__)") && \
sed -i -E 's/if mod is None:/if mod is None or getattr(mod, "__dict__", None) is None:/g' $file_to_patch && \
#file_to_patch=$(python2 -c "from __future__ import print_function; import guppy.heapy.View as hpv; print(hpv.__file__[:-1]) if hpv.__file__.endswith('c') else print(hpv.__file__)") && \
#sed -i -E 's/if mod is None:/if mod is None or getattr(mod, "__dict__", None) is None:/g' $file_to_patch && \
# Coverage
pip2 --no-cache-dir install coverage && \
#pip2 --no-cache-dir install coverage && \
pip3 --no-cache-dir install coverage && \
# Create Jenkins User for CI/CD
......@@ -113,7 +114,7 @@ RUN apt-get update && \
# System configuration
# =============================================================================
# Add environment variables
echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> /etc/environment && \
echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64/" >> /etc/environment && \
echo "MPI_HOME=/usr/lib/openmpi" >> /etc/environment && \
echo "LD_LIBRARY_PATH=/usr/lib/openmpi/lib" >> /etc/environment && \
mkdir /run/sshd && \
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment