name: ci on: push: paths: - 'src/**' - 'test/**' - 'conda/**' - 'cmake/**' - '.github/workflows/ci.yml' pull_request: jobs: activate: runs-on: ubuntu-latest if: | github.repository == 'IfcOpenShell/IfcOpenShell' && !contains(github.event.head_commit.message, 'skip ci') steps: - run: echo ok go build: runs-on: ubuntu-20.04 needs: activate steps: - uses: actions/checkout@v2 with: submodules: recursive - name: Install C++ dependencies run: | sudo apt update sudo apt-get install --no-install-recommends \ git cmake gcc g++ \ libboost-date-time-dev \ libboost-filesystem-dev \ libboost-iostreams-dev \ libboost-program-options-dev \ libboost-regex-dev \ libboost-system-dev \ libboost-thread-dev \ python3-all-dev python3-pip \ swig libpcre3-dev libxml2-dev \ libtbb-dev nlohmann-json3-dev \ libocct-foundation-dev libocct-modeling-algorithms-dev libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev libocct-data-exchange-dev \ libhdf5-dev libcgal-dev - name: ccache uses: hendrikmuhs/ccache-action@v1 - name: Build ifcopenshell run: | mkdir build && cd build cmake \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_PREFIX_PATH=/usr \ -DCMAKE_SYSTEM_PREFIX_PATH=/usr \ -DOCC_INCLUDE_DIR=/usr/include/opencascade \ -DOCC_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3 \ -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.8 \ -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.8.so \ -DCOLLADA_SUPPORT=Off \ "-DSCHEMA_VERSIONS=2x3;4" \ -DGLTF_SUPPORT=On \ -DJSON_INCLUDE_DIR=/usr/include \ -DCGAL_INCLUDE_DIR=/usr/include \ -DGMP_INCLUDE_DIR=/usr/include \ -DMPFR_INCLUDE_DIR=/usr/include \ -DGMP_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DMPFR_LIBRARY_DIR=/usr/lib/x86_64-linux-gnu \ -DHDF5_INCLUDE_DIR=/usr/include/hdf5/serial \ ../cmake sudo make -j $(nproc) sudo make install - name: Install Python dependencies run: | sudo /usr/bin/python -m pip install -U pip sudo /usr/bin/python -m pip install xmlschema numpy lxml sudo /usr/bin/python -m pip install src/bcf sudo /usr/bin/python -m pip install pytest sudo /usr/bin/python -m pip install isodate - name: Test run: | cd test sudo /usr/bin/python tests.py cd ../src/ifcopenshell-python mv ifcopenshell ifcopenshell-local # Force testing on installed module make test