Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test installation of the library in different conditions #54

Merged
merged 4 commits into from
Jul 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions .github/workflows/installation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Test installation of the library

# The workflow gets triggered by pushes and pull requests
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false

steps:
- uses: actions/checkout@v3

- name: Install docker
run: |
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce

- name: Test installation inside docker containers (serial)
working-directory: ${{github.workspace}}/docker/serial
run: |
ls
docker build -t serial .

echo "Testing installation from PyPi"
docker run -t serial bash -c \
"pip install CLUEstering; python3 -c 'import CLUEstering' || exit 1"

echo "Testing installation from git repository"
docker run -t serial bash -c \
"git clone --recursive https://github.com/cms-patatrack/CLUEstering;
cd CLUEstering;
pip install . ;
python3 -c 'import CLUEstering' || exit 1"

- name: Test installation inside docker containers (serial without boost)
working-directory: ${{github.workspace}}/docker/no_boost
run: |
docker build -t noboost .

echo "Testing installation from PyPi"
docker run -t noboost bash -c \
"pip install CLUEstering; python3 -c 'import CLUEstering' || exit 1"

echo "Testing installation from git repository"
docker run -t noboost bash -c \
"git clone --recursive https://github.com/cms-patatrack/CLUEstering;
cd CLUEstering;
pip install . ;
python3 -c 'import CLUEstering' || exit 1"

- name: Test installation inside docker containers (tbb)
working-directory: ${{github.workspace}}/docker/tbb
run: |
docker build -t tbb .

echo "Testing installation from PyPi"
docker run -t tbb bash -c \
"pip install CLUEstering; python3 -c 'import CLUEstering' || exit 1"

echo "Testing installation from git repository"
docker run -t tbb bash -c \
"git clone --recursive https://github.com/cms-patatrack/CLUEstering;
cd CLUEstering;
pip install . ;
python3 -c 'import CLUEstering' || exit 1"

- name: Test installation inside docker containers (without gcc)
working-directory: ${{github.workspace}}/docker/no_gcc
run: |
docker build -t nogcc .

echo "Testing installation from PyPi"
docker run -t nogcc bash -c \
"pip install CLUEstering; python3 -c 'import CLUEstering' || exit 0"

echo "Testing installation from git repository"
docker run -t nogcc bash -c \
"git clone --recursive https://github.com/cms-patatrack/CLUEstering;
cd CLUEstering;
pip install . ;
python3 -c 'import CLUEstering' || exit 0"

- name: Test installation inside docker containers (without cmake)
working-directory: ${{github.workspace}}/docker/no_cmake
run: |
docker build -t nocmake .

echo "Testing installation from PyPi"
docker run -t nocmake bash -c \
"pip install CLUEstering; python3 -c 'import CLUEstering' || exit 0"

echo "Testing installation from git repository"
docker run -t nocmake bash -c \
"git clone --recursive https://github.com/cms-patatrack/CLUEstering;
cd CLUEstering;
pip install . ;
python3 -c 'import CLUEstering' || exit 0"
11 changes: 11 additions & 0 deletions docker/no_boost/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
python3-dev \
python3-pip \
cmake \
g++ \
git

CMD ["/bin/bash"]
10 changes: 10 additions & 0 deletions docker/no_cmake/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
python3-dev \
python3-pip \
g++ \
git

CMD ["/bin/bash"]
9 changes: 9 additions & 0 deletions docker/no_gcc/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
python3-dev \
python3-pip \
git

CMD ["/bin/bash"]
12 changes: 12 additions & 0 deletions docker/serial/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
python3-dev \
python3-pip \
cmake \
g++ \
libboost-all-dev \
git

CMD ["/bin/bash"]
13 changes: 13 additions & 0 deletions docker/tbb/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
python3-dev \
python3-pip \
cmake \
g++ \
libboost-all-dev \
libtbb-dev \
git

CMD ["/bin/bash"]
Loading