diff --git a/.github/workflows/build-ubuntu-20.yml b/.github/workflows/build-ubuntu-20.yml index 88dae14160..4daa95d3cd 100644 --- a/.github/workflows/build-ubuntu-20.yml +++ b/.github/workflows/build-ubuntu-20.yml @@ -16,7 +16,7 @@ jobs: sudo apt update sudo apt-get install ninja-build doxygen graphviz libcurl4-openssl-dev libprotobuf-dev libprotoc-dev protobuf-compiler libhdf5-dev qt5-default libqwt-qt5-dev - - name: Install Cap’n Proto + - name: Install Cap'n Proto run: | mkdir "${{ runner.workspace }}/capnp" cd "${{ runner.workspace }}/capnp" @@ -28,7 +28,7 @@ jobs: sudo make install - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: submodules: 'true' fetch-depth: 0 @@ -36,14 +36,24 @@ jobs: - name: Install Python requirements shell: bash run: | - sudo pip3 install -r "$GITHUB_WORKSPACE/requirements.txt" + sudo apt-get -y install python3-dev python3-venv + mkdir ".venv_build" + python3 -m venv ".venv_build" + source ".venv_build/bin/activate" + pip install --upgrade pip + pip install wheel setuptools + pip install -r "$GITHUB_WORKSPACE/requirements.txt" + - name: CMake run: | + source ".venv_build/bin/activate" + export CC=/usr/bin/gcc-9 export CXX=/usr/bin/g++-9 mkdir "${{ runner.workspace }}/_build" cd "${{ runner.workspace }}/_build" + cmake $GITHUB_WORKSPACE -G "Ninja" \ -DHAS_HDF5=ON \ -DHAS_QT5=ON \ @@ -78,6 +88,7 @@ jobs: -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu + sudo mkdir /etc/ecal sudo cp "$GITHUB_WORKSPACE/ecal/core/cfg/ecal.ini" /etc/ecal shell: bash @@ -128,13 +139,13 @@ jobs: working-directory: ${{ runner.workspace }}/_build - name: Upload Debian - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ubuntu-debian path: ${{ runner.workspace }}/_build/_deploy/*.deb - name: Upload Python Wheel - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: ubuntu-python-wheel path: ${{ runner.workspace }}/_build/_deploy/*.whl diff --git a/.github/workflows/build-ubuntu-iceoryx.yml b/.github/workflows/build-ubuntu-iceoryx.yml deleted file mode 100644 index 024c96939f..0000000000 --- a/.github/workflows/build-ubuntu-iceoryx.yml +++ /dev/null @@ -1,133 +0,0 @@ -name: Build Ubuntu 20.04 (Iceoryx) - -on: - push: - pull_request: - branches: - - master - -jobs: - build-ubuntu: - runs-on: ubuntu-20.04 - - steps: - - name: Install Dependencies - run: | - sudo apt update - sudo apt-get install ninja-build doxygen graphviz libcurl4-openssl-dev libprotobuf-dev libprotoc-dev protobuf-compiler libhdf5-dev qt5-default libqwt-qt5-dev - - - name: Install Cap’n Proto - run: | - mkdir "${{ runner.workspace }}/capnp" - cd "${{ runner.workspace }}/capnp" - curl -O https://capnproto.org/capnproto-c++-0.9.0.tar.gz - tar zxf capnproto-c++-0.9.0.tar.gz - cd capnproto-c++-0.9.0 - ./configure - make -j - sudo make install - - - name: Install Iceoryx - run: | - sudo apt-get install libacl1-dev libncurses5-dev pkg-config - mkdir "${{ runner.workspace }}/iceoryx" - cd "${{ runner.workspace }}/iceoryx" - git clone https://github.com/eclipse/iceoryx.git - cd iceoryx - git checkout release_1.0 - ./tools/iceoryx_build_test.sh - sudo mkdir /etc/iceoryx - sudo cp ${{ runner.workspace }}/iceoryx/iceoryx/iceoryx_posh/etc/iceoryx/roudi_config_example.toml /etc/iceoryx/roudi_config.toml - cd ${{ runner.workspace }}/iceoryx/iceoryx/build/install/prefix/bin - ./RouDi & - - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: 'true' - fetch-depth: 0 - - - name: Install Python requirements - shell: bash - run: | - sudo pip3 install -r "$GITHUB_WORKSPACE/requirements.txt" - - - name: CMake - run: | - mkdir "${{ runner.workspace }}/_build" - cd "${{ runner.workspace }}/_build" - cmake $GITHUB_WORKSPACE -G "Ninja" \ - -DHAS_HDF5=ON \ - -DHAS_QT5=ON \ - -DHAS_CURL=ON \ - -DHAS_CAPNPROTO=ON \ - -DBUILD_DOCS=ON \ - -DBUILD_APPS=ON \ - -DBUILD_SAMPLES=ON \ - -DBUILD_TIME=ON \ - -DBUILD_PY_BINDING=ON \ - -DBUILD_STANDALONE_PY_WHEEL=ON \ - -DBUILD_CSHARP_BINDING=OFF \ - -DBUILD_ECAL_TESTS=ON \ - -DECAL_LAYER_ICEORYX=ON \ - -DECAL_INCLUDE_PY_SAMPLES=OFF \ - -DECAL_INSTALL_SAMPLE_SOURCES=ON \ - -DECAL_JOIN_MULTICAST_TWICE=OFF \ - -DECAL_NPCAP_SUPPORT=OFF \ - -DECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS=ON \ - -DECAL_THIRDPARTY_BUILD_PROTOBUF=OFF \ - -DECAL_THIRDPARTY_BUILD_SPDLOG=ON \ - -DECAL_THIRDPARTY_BUILD_TINYXML2=ON \ - -DECAL_THIRDPARTY_BUILD_FINEFTP=ON \ - -DECAL_THIRDPARTY_BUILD_CURL=OFF \ - -DECAL_THIRDPARTY_BUILD_GTEST=ON \ - -DECAL_THIRDPARTY_BUILD_HDF5=OFF \ - -DECAL_THIRDPARTY_BUILD_RECYCLE=ON \ - -DECAL_THIRDPARTY_BUILD_TCP_PUBSUB=ON \ - -DECAL_THIRDPARTY_BUILD_QWT=OFF \ - -DCMAKE_PREFIX_PATH="${{ runner.workspace }}/iceoryx/iceoryx/build/install/prefix/lib/cmake/iceoryx_posh;${{ runner.workspace }}/iceoryx/iceoryx/build/install/prefix/lib/cmake/iceoryx_utils" \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_SYSCONFDIR=/etc \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LOCALSTATEDIR=/var \ - -DCMAKE_INSTALL_LIBDIR=lib/x86_64-linux-gnu - sudo mkdir /etc/ecal - sudo cp "$GITHUB_WORKSPACE/ecal/core/cfg/ecal.ini" /etc/ecal - shell: bash - - - name: Build Release - run: cmake --build . --config Release - working-directory: ${{ runner.workspace }}/_build - - - name: Build Python Wheel - run: cmake --build . --target create_python_wheel --config Release - working-directory: ${{ runner.workspace }}/_build - -# - name: Build Documentation C -# run: cmake --build . --target documentation_c -# working-directory: ${{ runner.workspace }}/_build - -# - name: Build Documentation C++ -# run: cmake --build . --target documentation_cpp -# working-directory: ${{ runner.workspace }}/_build - -# currently some pub/sub tests fail on iceoryx layer.. -# - name: Run Tests -# run: ctest -V -# working-directory: ${{ runner.workspace }}/_build - - - name: Pack - run: cpack -G DEB - working-directory: ${{ runner.workspace }}/_build - - - name: Upload Debian - uses: actions/upload-artifact@v3 - with: - name: ubuntu-debian-iceoryx - path: ${{ runner.workspace }}/_build/_deploy/*.deb - - - name: Upload Python Wheel - uses: actions/upload-artifact@v3 - with: - name: ubuntu-python-wheel-iceoryx - path: ${{ runner.workspace }}/_build/_deploy/*.whl