diff --git a/.dd4hep-ci.d/compile_and_test.sh b/.dd4hep-ci.d/compile_and_test.sh
deleted file mode 100755
index aecfab4007da9548441e975b07ed070a2a01a930..0000000000000000000000000000000000000000
--- a/.dd4hep-ci.d/compile_and_test.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/bash
-
-source /DD4hep/.dd4hep-ci.d/init_x86_64.sh
-
-cd /DD4hep
-mkdir build
-cd build
-unset CPATH  # causes implicit includes to be added in cmake, preventing setting some system libraries to -isystem
-cmake -GNinja -DDD4HEP_USE_GEANT4=ON \
-    -DBoost_NO_BOOST_CMAKE=ON \
-    -DDD4HEP_USE_LCIO=ON \
-    -DDD4HEP_USE_TBB=${DD4HEP_USE_TBB:-OFF} \
-    -DBUILD_TESTING=ON \
-    -DDD4HEP_DEBUG_CMAKE=ON \
-    -DCMAKE_BUILD_TYPE=Release \
-    -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always -Werror"  \
-    -DBUILD_SHARED_LIBS=${SHARED} \
-    -DCMAKE_CXX_STANDARD=${STANDARD} .. && \
-    ninja
-
-BUILD_RESULT=$?
-
-if [[ "${SHARED}" == "OFF" ]]; then
-    echo "Not building SHARED libraries, ending tests here"
-    exit ${BUILD_RESULT}
-fi
-
-test ${BUILD_RESULT} -eq 0 && \
-ninja install && \
-. ../bin/thisdd4hep.sh && \
-ctest --output-on-failure -j4 && \
-cd ../examples/ && \
-mkdir build && \
-cd build && \
-cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=${STANDARD} .. && \
-ninja && \
-ninja install && \
-ctest --output-on-failure -j2
diff --git a/.dd4hep-ci.d/coverity_scan.sh b/.dd4hep-ci.d/coverity_scan.sh
deleted file mode 100755
index 3f1674f35a60d1c5964a8f091313b3fddbdce963..0000000000000000000000000000000000000000
--- a/.dd4hep-ci.d/coverity_scan.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/bash
-
-export COMPILER_TYPE="gcc"
-
-source /Package/.dd4hep-ci.d/init_x86_64.sh
-
-cd /Package
-mkdir build
-cd build
-cmake -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always" -DCMAKE_CXX_STANDARD=17 ..
-export PATH=/cov-analysis-linux64/bin:$PATH
-cov-build --dir cov-int make -j4
-tar czvf myproject.tgz cov-int
diff --git a/.dd4hep-ci.d/init_mac.sh b/.dd4hep-ci.d/init_mac.sh
deleted file mode 100644
index 12e1d5ece533ec5a1adafc5ff1715803459880df..0000000000000000000000000000000000000000
--- a/.dd4hep-ci.d/init_mac.sh
+++ /dev/null
@@ -1,101 +0,0 @@
-#!/bin/bash
-
-if [ "$(uname)" == "Darwin" ]; then
-    if [ $(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}') == "10.14" ]; then
-        OS=mac1014
-        COMPILER_TYPE=clang
-        COMPILER_VERSION=clang100
-    else
-        echo "Bootstrap only works on macOS Mojave (10.14)"
-        exit 1
-    fi
-else
-    echo "This script is only meant for Mac"
-    exit 1
-fi
-
-# Determine is you have CVMFS installed
-if [ ! -d "/cvmfs" ]; then
-    echo "No CVMFS detected, please install it."
-    exit 1
-fi
-
-if [ ! -d "/cvmfs/clicdp.cern.ch" ]; then
-    echo "No clicdp CVMFS repository detected, please add it."
-    exit 1
-fi
-
-# Choose build type
-if [ -z ${BUILD_TYPE} ]; then
-    BUILD_TYPE=opt
-fi
-
-
-# General variables
-CLICREPO=/cvmfs/clicdp.cern.ch
-BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE}
-
-#--------------------------------------------------------------------------------
-#     CMake
-#--------------------------------------------------------------------------------
-
-export CMAKE_HOME=${CLICREPO}/software/CMake/3.14.3/${BUILD_FLAVOUR}
-export PATH=${CMAKE_HOME}/bin:$PATH
-
-#--------------------------------------------------------------------------------
-#     Python
-#--------------------------------------------------------------------------------
-
-export PYTHONDIR=${CLICREPO}/software/Python/2.7.16/${BUILD_FLAVOUR}
-export PATH=${PYTHONDIR}/bin:$PATH
-export DYLD_LIBRARY_PATH="${PYTHONDIR}/lib:$DYLD_LIBRARY_PATH"
-
-#--------------------------------------------------------------------------------
-#     ROOT
-#--------------------------------------------------------------------------------
-
-export ROOTSYS=${CLICREPO}/software/ROOT/6.18.00/${BUILD_FLAVOUR}
-export ROOT_ROOT=$ROOTSYS
-export PYTHONPATH="$ROOTSYS/lib:$PYTHONPATH"
-export PATH="$ROOTSYS/bin:$PATH"
-export DYLD_LIBRARY_PATH="$ROOTSYS/lib:$DYLD_LIBRARY_PATH"
-
-#--------------------------------------------------------------------------------
-#     XercesC
-#--------------------------------------------------------------------------------
-
-export XercesC_ROOT=${CLICREPO}/software/Xerces-C/3.1.3/${BUILD_FLAVOUR}
-export PATH="$XercesC_ROOT/bin:$PATH"
-export DYLD_LIBRARY_PATH="$XercesC_ROOT/lib:$DYLD_LIBRARY_PATH"
-
-
-#--------------------------------------------------------------------------------
-#     Geant4
-#--------------------------------------------------------------------------------
-
-export Geant4_ROOT=${CLICREPO}/software/Geant4/10.05.p01/${BUILD_FLAVOUR}
-export G4LIB=$Geant4_ROOT/lib/Geant4-10.5.1/
-export G4ENV_INIT="${Geant4_ROOT}/bin/geant4.sh"
-export G4SYSTEM="Linux-g++"
-
-
-#--------------------------------------------------------------------------------
-#     Boost
-#--------------------------------------------------------------------------------
-
-export BOOST_ROOT=${CLICREPO}/software/Boost/1.70.0/${BUILD_FLAVOUR}
-export DYLD_LIBRARY_PATH="${BOOST_ROOT}/lib:$DYLD_LIBRARY_PATH"
-
-#--------------------------------------------------------------------------------
-#     Ninja
-#--------------------------------------------------------------------------------
-
-export Ninja_HOME=${CLICREPO}/software/Ninja/1.9.0/${BUILD_FLAVOUR}
-export PATH="$Ninja_HOME:$PATH"
-
-#--------------------------------------------------------------------------------
-#     LCIO
-#--------------------------------------------------------------------------------
-
-export LCIO=${CLICREPO}/software/LCIO/2.12.1/${BUILD_FLAVOUR}/
-export CMAKE_PREFIX_PATH="$LCIO:$CMAKE_PREFIX_PATH"
diff --git a/.dd4hep-ci.d/init_x86_64.sh b/.dd4hep-ci.d/init_x86_64.sh
deleted file mode 100644
index dd95a268e1ff81452bea17669093d69057cad22b..0000000000000000000000000000000000000000
--- a/.dd4hep-ci.d/init_x86_64.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/bash
-
-#Determine which OS you are using
-if [ "$(uname)" == "Linux" ]; then
-    if [ "$( cat /etc/*-release | grep Scientific )" ]; then
-        OS=slc6
-    elif [ "$( cat /etc/*-release | grep CentOS )" ]; then
-        OS=centos7
-    fi
-else
-    echo "UNKNOWN OS"
-    exit 1
-fi
-
-#Determine is you have CVMFS installed
-if [ ! -d "/cvmfs" ]; then
-    echo "No CVMFS detected, please install it."
-    exit 1
-fi
-
-if [ ! -d "/cvmfs/sft.cern.ch" ]; then
-    echo "No sft CVMFS repository detected, please add it."
-    exit 1
-fi
-
-
-#Determine which compiler to use
-if [ -z ${COMPILER_TYPE} ]; then
-    COMPILER_TYPE="gcc"
-fi
-if [ -z ${COMPILER_VERSION} ]; then
-    if [ ${COMPILER_TYPE} == "gcc" ]; then
-        COMPILER_VERSION="gcc9"
-    fi
-    if [[ ${COMPILER_TYPE} == "clang" ]]; then
-        COMPILER_VERSION="clang10"
-    fi
-fi
-
-
-#Choose build type
-if [ -z ${BUILD_TYPE} ]; then
-    BUILD_TYPE=opt
-fi
-
-# General variables
-if [ -z ${LCG_RELEASE} ]; then
-    LCG_RELEASE="LCG_97"
-fi
-
-if [[ "${LCG_RELEASE}" =~ "dev" ]]; then
-    LCGREPO=/cvmfs/sft-nightlies.cern.ch/lcg/views/${LCG_RELEASE}/latest
-    export DD4HEP_USE_TBB=ON
-else
-    LCGREPO=/cvmfs/sft.cern.ch/lcg/views/${LCG_RELEASE}
-fi
-
-BUILD_FLAVOUR=x86_64-${OS}-${COMPILER_VERSION}-${BUILD_TYPE}
-echo ${LCGREPO}/${BUILD_FLAVOUR}/setup.sh
-source ${LCGREPO}/${BUILD_FLAVOUR}/setup.sh
-
-#--------------------------------------------------------------------------------
-#     LCIO
-#--------------------------------------------------------------------------------
-export LCIO=/cvmfs/clicdp.cern.ch/software/LCIO/2.12.1/x86_64-${OS}-${COMPILER_VERSION}-LCG_96
-export LCIO_ROOT=${LCIO}
-export PYTHONPATH=${LCIO}/python:$PYTHONPATH
-export PATH=${LCIO}/bin:$PATH
-export LD_LIBRARY_PATH="$LCIO/lib:$LD_LIBRARY_PATH"
diff --git a/.dd4hep-ci.d/DD4hep.pylint.py3k.rc b/.github/scripts/DD4hep.pylint.py3k.rc
similarity index 100%
rename from .dd4hep-ci.d/DD4hep.pylint.py3k.rc
rename to .github/scripts/DD4hep.pylint.py3k.rc
diff --git a/.dd4hep-ci.d/DD4hep.pylint.rc b/.github/scripts/DD4hep.pylint.rc
similarity index 100%
rename from .dd4hep-ci.d/DD4hep.pylint.rc
rename to .github/scripts/DD4hep.pylint.rc
diff --git a/.github/scripts/compile_and_test.sh b/.github/scripts/compile_and_test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..7f850b330d4d05d824c5ccc049ac2ffb7b8ea610
--- /dev/null
+++ b/.github/scripts/compile_and_test.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+source /cvmfs/sft.cern.ch/lcg/views/${VIEW}/setup.sh
+
+cd /Package
+mkdir build
+cd build
+unset CPATH  # causes implicit includes to be added in cmake, preventing setting some system libraries to -isystem
+cmake -GNinja \
+      -DDD4HEP_USE_GEANT4=ON \
+      -DBoost_NO_BOOST_CMAKE=ON \
+      -DDD4HEP_USE_LCIO=ON \
+      -DDD4HEP_USE_TBB=${TBB} \
+      -DBUILD_TESTING=ON \
+      -DDD4HEP_DEBUG_CMAKE=ON \
+      -DBUILD_SHARED_LIBS=${SHARED} \
+      -DCMAKE_BUILD_TYPE=Release \
+      -DCMAKE_CXX_FLAGS="-fdiagnostics-color=always"  \
+      -DCMAKE_CXX_STANDARD=${STANDARD} .. && \
+      ninja
+
+BUILD_RESULT=$?
+
+if [[ "${SHARED}" == "OFF" ]]; then
+  echo "Not building SHARED libraries, ending tests here"
+  exit ${BUILD_RESULT}
+fi
+
+test ${BUILD_RESULT} -eq 0 && \
+ninja install && \
+. ../bin/thisdd4hep.sh && \
+ctest --output-on-failure -j4 && \
+cd ../examples/ && \
+mkdir build && \
+cd build && \
+cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=${STANDARD} .. && \
+ninja && \
+ninja install && \
+ctest --output-on-failure -j2
+
+
diff --git a/.dd4hep-ci.d/runPythonChecks.sh b/.github/scripts/runPythonChecks.sh
similarity index 54%
rename from .dd4hep-ci.d/runPythonChecks.sh
rename to .github/scripts/runPythonChecks.sh
index 9a1a3d6c9da5d96df40e183fbd73722d3e25f714..850597d50b6dbe4001c87b73c96e37bd098ad041 100755
--- a/.dd4hep-ci.d/runPythonChecks.sh
+++ b/.github/scripts/runPythonChecks.sh
@@ -1,10 +1,10 @@
 #!/bin/bash
 
-source /DD4hep/.dd4hep-ci.d/init_x86_64.sh
-cd /DD4hep
+source /cvmfs/sft.cern.ch/lcg/views/${VIEW}/setup.sh
+cd /Package
 
 echo "RUNNING PYLINT PY3K CHECK" && \
-find . -name "*.py" -and -not -name 'ddsix.py' -exec pylint --rcfile=.dd4hep-ci.d/DD4hep.pylint.py3k.rc --py3k --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" {} + && \
+find . -name "*.py" -and -not -name 'ddsix.py' -exec pylint --rcfile=.github/scripts/DD4hep.pylint.py3k.rc --py3k --msg-template="{path}:{line}: [{msg_id}({symbol}), {obj}] {msg}" {} + && \
 echo "" && \
 echo "RUNNING FLAKE8 CHECK" && \
 find . -name "*.py" -and -not -name 'ddsix.py' -exec flake8 {} +
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e1d7f59bf53bba81b60ed1b1f13a9bc17e66f58d
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,138 @@
+name: linux
+
+on: [push, pull_request]
+
+jobs:
+  centos7:
+    runs-on: ubuntu-18.04
+    strategy:
+      matrix:
+        LCG: ["LCG_97apython3/x86_64-centos7-gcc8-opt",
+              "LCG_97/x86_64-centos7-gcc9-opt"]
+    env:
+      SHARED: ON
+      STANDARD: 17
+      TBB: OFF
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install CVMFS
+      run: |
+        wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
+        sudo dpkg -i cvmfs-release-latest_all.deb
+        sudo apt-get update
+        sudo apt-get install cvmfs cvmfs-config-default
+        wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
+        sudo mkdir -p /etc/cvmfs
+        sudo mv default.local /etc/cvmfs/default.local
+        sudo cvmfs_config setup
+        ls /cvmfs/sft.cern.ch
+        ls /cvmfs/geant4.cern.ch
+    - name: Start container
+      run: |
+        ls
+        docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch  -d ghcr.io/aidasoft/centos7:latest /bin/bash
+    - name: Compile and test
+      run: |
+        docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh"
+
+
+  centos7-tbb:
+    runs-on: ubuntu-18.04
+    strategy:
+      matrix:
+        LCG: ["LCG_98/x86_64-centos7-gcc9-opt",
+              "LCG_98python3/x86_64-centos7-gcc10-opt",
+              "LCG_98python3/x86_64-centos7-clang10-opt"]
+    env:
+      SHARED: ON
+      STANDARD: 17
+      TBB: ON
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install CVMFS
+      run: |
+        wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
+        sudo dpkg -i cvmfs-release-latest_all.deb
+        sudo apt-get update
+        sudo apt-get install cvmfs cvmfs-config-default
+        wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
+        sudo mkdir -p /etc/cvmfs
+        sudo mv default.local /etc/cvmfs/default.local
+        sudo cvmfs_config setup
+        ls /cvmfs/sft.cern.ch
+        ls /cvmfs/geant4.cern.ch
+        ls /cvmfs/sft-nightlies.cern.ch
+    - name: Start container
+      run: |
+        ls
+        docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash
+    - name: Compile and test
+      run: |
+        docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh"
+
+
+  non-shared-libs:
+    runs-on: ubuntu-18.04
+    strategy:
+      matrix:
+        LCG: ["LCG_98python3/x86_64-centos7-gcc10-opt"]
+    env:
+      SHARED: OFF
+      STANDARD: 17
+      TBB: ON
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install CVMFS
+      run: |
+        wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
+        sudo dpkg -i cvmfs-release-latest_all.deb
+        sudo apt-get update
+        sudo apt-get install cvmfs cvmfs-config-default
+        wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
+        sudo mkdir -p /etc/cvmfs
+        sudo mv default.local /etc/cvmfs/default.local
+        sudo cvmfs_config setup
+        ls /cvmfs/sft.cern.ch
+        ls /cvmfs/geant4.cern.ch
+        ls /cvmfs/sft-nightlies.cern.ch
+    - name: Start container
+      run: |
+        ls
+        docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash
+    - name: Compile and test
+      run: |
+        docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh"
+
+
+  ubuntu18:
+    runs-on: ubuntu-18.04
+    strategy:
+      matrix:
+        LCG: ["LCG_98/x86_64-ubuntu1804-gcc8-opt",
+              "LCG_98python3/x86_64-ubuntu1804-gcc7-opt"]
+    env:
+      SHARED: ON
+      STANDARD: 17
+      TBB: ON
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install CVMFS
+      run: |
+        wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
+        sudo dpkg -i cvmfs-release-latest_all.deb
+        sudo apt-get update
+        sudo apt-get install cvmfs cvmfs-config-default
+        wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
+        sudo mkdir -p /etc/cvmfs
+        sudo mv default.local /etc/cvmfs/default.local
+        sudo cvmfs_config setup
+        ls /cvmfs/sft.cern.ch
+        ls /cvmfs/geant4.cern.ch
+        ls /cvmfs/sft-nightlies.cern.ch
+    - name: Start container
+      run: |
+        ls
+        docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -e SHARED=${SHARED} -e STANDARD=${STANDARD} -e TBB=${TBB} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/ubuntu18:latest /bin/bash
+    - name: Compile and test
+      run: |
+        docker exec CI_container /bin/bash -c "./Package/.github/scripts/compile_and_test.sh"
diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml
new file mode 100644
index 0000000000000000000000000000000000000000..97e09b15b873962b7c530d0cc27ac76bd653b91e
--- /dev/null
+++ b/.github/workflows/mac.yml
@@ -0,0 +1,49 @@
+name: macOS
+
+on: [push, pull_request]
+
+jobs:
+  macOS:
+    runs-on: macos-10.15
+    strategy:
+      matrix:
+        LCG: ["LCG_98python3/x86_64-mac1015-clang110-opt","LCG_97apython3/x86_64-mac1015-clang110-opt"]
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install CVMFS
+      run: |
+        brew install ninja
+        brew cask install osxfuse
+        curl -L -o cvmfs-2.7.4.pkg https://ecsft.cern.ch/dist/cvmfs/cvmfs-2.7.4/cvmfs-2.7.4.pkg
+        sudo installer -package cvmfs-2.7.4.pkg -target /
+        wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
+        sudo mv default.local /etc/cvmfs/default.local
+        sudo cvmfs_config setup
+        brew cask install gfortran
+        brew cask install xquartz
+    - name: Mount CVMFS
+      run: |
+        mkdir -p /Users/Shared/cvmfs/sft.cern.ch
+        mkdir -p /Users/Shared/cvmfs/geant4.cern.ch
+        sudo mount -t cvmfs sft.cern.ch /Users/Shared/cvmfs/sft.cern.ch
+        sudo mount -t cvmfs geant4.cern.ch /Users/Shared/cvmfs/geant4.cern.ch
+        ls /Users/Shared/cvmfs/sft.cern.ch
+        ls /Users/Shared/cvmfs/geant4.cern.ch
+    - name: Build DD4hep
+      run: |
+        source /Users/Shared/cvmfs/sft.cern.ch/lcg/views/${{ matrix.LCG }}/setup.sh
+        mkdir build
+        cd build
+        cmake -GNinja -DDD4HEP_USE_GEANT4=ON -DBoost_NO_BOOST_CMAKE=ON -DDD4HEP_USE_LCIO=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 ..
+        ninja
+        ninja install
+        . ../bin/thisdd4hep.sh
+        ctest --output-on-failure -j4
+        cd ../examples/
+        mkdir build
+        cd build
+        cmake -GNinja -DBoost_NO_BOOST_CMAKE=ON -DCMAKE_CXX_STANDARD=17 ..
+        ninja
+        ninja install
+        ctest --output-on-failure -E t_ClientTests_Check_Shape_Eightpoint_Reflect_DetElement
+
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
new file mode 100644
index 0000000000000000000000000000000000000000..25a52bf1ca1dd06736014826b04b4ee2ee53deae
--- /dev/null
+++ b/.github/workflows/python.yml
@@ -0,0 +1,32 @@
+name: python
+
+on: [push, pull_request]
+
+jobs:
+  python-lint:
+    runs-on: ubuntu-18.04
+    strategy:
+      matrix:
+        LCG: ["LCG_98/x86_64-centos7-gcc10-opt"]
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install CVMFS
+      run: |
+        wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
+        sudo dpkg -i cvmfs-release-latest_all.deb
+        sudo apt-get update
+        sudo apt-get install cvmfs cvmfs-config-default
+        wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
+        sudo mkdir -p /etc/cvmfs
+        sudo mv default.local /etc/cvmfs/default.local
+        sudo cvmfs_config setup
+        ls /cvmfs/sft.cern.ch
+        ls /cvmfs/geant4.cern.ch
+        ls /cvmfs/sft-nightlies.cern.ch
+    - name: Start container
+      run: |
+        docker run -it --name CI_container -v /home/runner/work/DD4hep/DD4hep:/Package -e VIEW=${{ matrix.LCG }} -v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch -d ghcr.io/aidasoft/centos7:latest /bin/bash
+    - name: Run Python Checks
+      run: |
+        docker exec CI_container /bin/bash -c "./Package/.github/scripts/runPythonChecks.sh"
+
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 57ccebb274b04198b8c5cceeb2018c6ef125a649..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,75 +0,0 @@
-sudo: required
-dist: trusty
-
-services:
-  - docker
-
-language: cpp
-
-env:
-  - COMPILER=gcc;   LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=gcc9; PYTHON_CHECK="no"
-  - COMPILER=gcc;   LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no"; SHARED=OFF
-  - COMPILER=gcc;   LCG_RELEASE=LCG_96bpython3; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no"
-  - COMPILER=clang; LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=clang8; PYTHON_CHECK="no"
-  - COMPILER=gcc;   LCG_RELEASE=LCG_96b; STANDARD=14; COMPILER_VERSION=gcc62; PYTHON_CHECK="no"
-  - COMPILER=gcc; LCG_RELEASE=dev3; STANDARD=17; COMPILER_VERSION=gcc9; PYTHON_CHECK="no"
-  - COMPILER=gcc; LCG_RELEASE=dev4; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no"
-  - PYTHON_CHECK="yes"; COMPILER=gcc;   LCG_RELEASE=LCG_96b; STANDARD=17; COMPILER_VERSION=gcc8;
-
-matrix:
-  allow_failures:
-    - env: COMPILER=gcc; LCG_RELEASE=dev3; STANDARD=17; COMPILER_VERSION=gcc9; PYTHON_CHECK="no"
-    - env: COMPILER=gcc; LCG_RELEASE=dev4; STANDARD=17; COMPILER_VERSION=gcc8; PYTHON_CHECK="no"
-
-before_install:
-  - wget --no-check-certificate https://ecsft.cern.ch/dist/cvmfs/cvmfs-release/cvmfs-release-latest_all.deb
-  - sudo dpkg -i cvmfs-release-latest_all.deb
-  - sudo apt-get update
-  - sudo apt-get install cvmfs cvmfs-config-default
-  - rm -f cvmfs-release-latest_all.deb
-  - wget --no-check-certificate https://lcd-data.web.cern.ch/lcd-data/CernVM/default.local
-  - sudo mkdir -p /etc/cvmfs
-  - sudo mv default.local /etc/cvmfs/default.local
-  - sudo /etc/init.d/autofs stop
-  - sudo cvmfs_config setup
-  - sudo mkdir -p /cvmfs/sft.cern.ch
-  - sudo mkdir -p /cvmfs/sft-nightlies.cern.ch
-  - sudo mkdir -p /cvmfs/geant4.cern.ch
-  - sudo mkdir -p /cvmfs/clicdp.cern.ch
-  - sudo mount -t cvmfs sft.cern.ch /cvmfs/sft.cern.ch
-  - sudo mount -t cvmfs sft-nightlies.cern.ch /cvmfs/sft-nightlies.cern.ch
-  - sudo mount -t cvmfs geant4.cern.ch /cvmfs/geant4.cern.ch
-  - sudo mount -t cvmfs clicdp.cern.ch /cvmfs/clicdp.cern.ch
-  - ls /cvmfs/sft.cern.ch
-  - ls /cvmfs/sft-nightlies.cern.ch
-  - ls /cvmfs/geant4.cern.ch
-  - ls /cvmfs/clicdp.cern.ch
-  - export CVMFS_REPOS="-v /cvmfs/sft.cern.ch:/cvmfs/sft.cern.ch"
-  - export CVMFS_REPOS="${CVMFS_REPOS} -v /cvmfs/sft-nightlies.cern.ch:/cvmfs/sft-nightlies.cern.ch"
-  - export CVMFS_REPOS="${CVMFS_REPOS} -v /cvmfs/geant4.cern.ch:/cvmfs/geant4.cern.ch"
-  - export CVMFS_REPOS="${CVMFS_REPOS} -v /cvmfs/clicdp.cern.ch:/cvmfs/clicdp.cern.ch"
-
-# command to install dependencies
-install:
-  - shopt -s extglob dotglob
-  - mkdir Package
-  - mv !(Package) Package
-  - shopt -u dotglob
-  - export PKGDIR=${PWD}/Package
-
-# command to run tests
-script:
-  - docker run -ti --name CI_container -v $PKGDIR:/DD4hep -e COMPILER_TYPE=$COMPILER -e LCG_RELEASE=${LCG_RELEASE} -e STANDARD=${STANDARD} -e COMPILER_VERSION=${COMPILER_VERSION} -e SHARED=${SHARED:-ON} ${CVMFS_REPOS} -d clicdp/cc7-lcg /bin/bash
-  - if [[ "$PYTHON_CHECK" == "yes" ]];
-    then docker exec -ti CI_container /bin/bash -c "./DD4hep/.dd4hep-ci.d/runPythonChecks.sh";
-    else docker exec -ti CI_container /bin/bash -c "./DD4hep/.dd4hep-ci.d/compile_and_test.sh";
-    fi
-
-after_success:
-  - if [[ "${TRAVIS_EVENT_TYPE}" != "cron" && "${TRAVIS_EVENT_TYPE}" != "pull_request" && "${COMPILER}" == "clang" && "${TRAVIS_REPO_SLUG%/*}" == "AIDASoft" ]];
-    then curl -X POST -F token=$GITLAB_TOKEN -F ref=master https://gitlab.cern.ch/api/v4/projects/7828/trigger/pipeline;
-    fi
-
-# Don't send e-mail notifications
-notifications:
-  email: false