diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6b8026111b..891dfcca2b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,9 +34,29 @@ jobs: runs-on: ubuntu-20.04 needs: activate steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: recursive + + - name: Set up Python + uses: actions/setup-python@v3 + with: + python-version: 3.11 + + - name: Locate Python Paths + run: | + echo "PYTHON_EXECUTABLE=$(which python)" >> $GITHUB_ENV + echo "PYTHON_INCLUDE_DIR=$(python -c 'import sysconfig; print(sysconfig.get_path(\"include\"))')" >> $GITHUB_ENV + echo "PYTHON_LIBRARY=$(python -c 'import sysconfig; print(sysconfig.get_config_var(\"LIBDIR\"))')/libpython3.11.so" >> $GITHUB_ENV + shell: bash + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install xmlschema xsdata numpy lxml pytest isodate lark networkx tabulate python-dateutil + pip install src/bcf --no-deps + pip install https://github.com/Andrej730/aud/archive/refs/heads/master-reduced-size.zip + - name: Install C++ dependencies run: | sudo apt update @@ -49,7 +69,6 @@ jobs: 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 \ @@ -71,9 +90,9 @@ jobs: -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 \ + -DPYTHON_EXECUTABLE:FILEPATH=${{ env.PYTHON_EXECUTABLE }} \ + -DPYTHON_INCLUDE_DIR:PATH=${{ env.PYTHON_INCLUDE_DIR }} \ + -DPYTHON_LIBRARY:FILEPATH=${{ env.PYTHON_LIBRARY }} \ -DCOLLADA_SUPPORT=Off \ "-DSCHEMA_VERSIONS=2x3;4;4x3_add1" \ -DGLTF_SUPPORT=On \ @@ -102,23 +121,11 @@ jobs: grep 0$ statuses grep 0$ statuses | wc -l - - name: Install Python dependencies - run: | - sudo /usr/bin/python -m pip install -U pip - sudo /usr/bin/python -m pip install xmlschema xsdata numpy lxml - sudo /usr/bin/python -m pip install src/bcf --no-deps - sudo /usr/bin/python -m pip install pytest - sudo /usr/bin/python -m pip install isodate - sudo /usr/bin/python -m pip install lark - sudo /usr/bin/python -m pip install networkx - sudo /usr/bin/python -m pip install https://github.com/Andrej730/aud/archive/refs/heads/master-reduced-size.zip - sudo /usr/bin/python -m pip install tabulate - sudo /usr/bin/python -m pip install python-dateutil - - name: Test + - name: Test ifcopenshell-python run: | cd test - sudo /usr/bin/python tests.py + python tests.py cd ../src/ifcopenshell-python mv ifcopenshell ifcopenshell-local # Force testing on installed module make test-safe