language: cpp compiler: gcc cache: ccache os: linux dist: focal addons: apt: update: true packages: - libboost-date-time-dev - libboost-filesystem-dev - libboost-iostreams-dev - libboost-program-options-dev - libboost-regex-dev - libboost-system-dev - libboost-thread-dev - libocct-data-exchange-dev - libocct-foundation-dev - libocct-modeling-algorithms-dev - libocct-modeling-data-dev - libxml2-dev - nlohmann-json3-dev - opencollada-dev - python3-all-dev - python3-pip - swig - libhdf5-dev before_script: - if [ $TRAVIS_OS_NAME == "linux" ]; then ccache -z; fi install: # for IDS - python3 -m pip install xmlschema script: - pwd - mkdir build && cd build - | cmake \ -DCMAKE_C_COMPILER_LAUNCHER=ccache \ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \ -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 \ "-DSCHEMA_VERSIONS=2x3;4" \ -DGLTF_SUPPORT=On \ -DJSON_INCLUDE_DIR=/usr/include \ -DHDF5_INCLUDE_DIR=/usr/include/hdf5/serial \ ../cmake # TODO: Drop sudo - sudo make -j $(nproc) install - cd ../test - /usr/bin/python tests.py - /usr/bin/python ../src/ifcopenshell-python/ifcopenshell/test_ids.py - cd input - /usr/local/bin/IfcConvert -yv acad2010_walls.ifc acad2010_walls.glb - /usr/bin/python -c "from io import open; import ifcopenshell; f = ifcopenshell.open('encoding.ifc'); assert list(map(ord, f[1][0])) == [39, 97, 39, 32, 49, 109, 179, 32, 8804, 32, 53, 109, 179, 32, 8805, 32, 49, 48, 109, 179]" - | (for i in *.ifc; do \ echo $i | tee -a log; \ timeout 1m /usr/local/bin/IfcConvert -yv "$i" "$i.dae" --validate >> log 2>&1; \ echo $i $? >> statuses; \ done) || true - echo Failed - grep -v 0$ statuses - grep -v 0$ statuses | wc -l - echo Succeeded - grep 0$ statuses - grep 0$ statuses | wc -l after_script: - if [ $TRAVIS_OS_NAME == "linux" ]; then ccache -s; fi