PIQP win diag: set +e so loop survives failing attempt #29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Reproduce ubuntu-arm import failure with the EXACT failing CI artifact | |
| # Earlier we loaded the release-wheel _casadi.so on the GHA arm runner | |
| # and it worked. But the CI test-python (ubuntu-24.04-arm) keeps failing | |
| # on the workflow-artifact zip (different MD5 from the release wheel | |
| # despite both originating from python-dockcross). This workflow pulls | |
| # the *actual* failing artifact from casadi/casadi via cross-repo | |
| # download-artifact and tries to load it under the same conda env. | |
| on: [push, workflow_dispatch] | |
| jobs: | |
| diag: | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| # Replicate CI exactly: checkout casadi/casadi as the workspace root, unzip | |
| # the artifact into ./casadi (mirroring binaries.yml line 1100), and run | |
| # `cd test/python && python -c "from casadi import *"`. | |
| - name: Checkout casadi/casadi (abi3) | |
| uses: actions/checkout@v6.0.2 | |
| with: | |
| repository: casadi/casadi | |
| ref: abi3 | |
| - name: Download FAILING CI artifact from casadi/casadi | |
| uses: actions/download-artifact@v8.0.1 | |
| with: | |
| name: casadi-linux-aarch64-py311 | |
| run-id: 25957641744 | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| repository: casadi/casadi | |
| - name: Layout | |
| run: | | |
| ls -la | |
| ls -la *.zip || true | |
| - name: "Unpack (mirrors CI - unzip py311.zip -d casadi)" | |
| run: | | |
| unzip -q casadi-linux-aarch64-py311.zip -d casadi | |
| ls casadi/casadi/ | head -10 | |
| - name: Inspect _casadi.so | |
| run: | | |
| F=casadi/casadi/_casadi.so | |
| file $F | |
| md5sum $F | |
| readelf -d $F | grep -E "NEEDED|RPATH|RUNPATH" | |
| echo "--- ldd ---" | |
| ldd $F | |
| - name: Set up conda python 3.11 (matches CI test-python) | |
| uses: conda-incubator/setup-miniconda@77236efeba76d591229f44c36f2469426cc33dec | |
| with: | |
| python-version: 3.11 | |
| activate-environment: py3.11 | |
| auto-update-conda: true | |
| channels: pkgs/main, conda-forge, conda-forge/label/python_rc | |
| - name: conda install pip + numpy etc (EXACTLY mirror CI) | |
| shell: bash -el {0} | |
| run: | | |
| conda install -y pip # CI does this (no -n) | |
| pip install numpy scipy pandas looseversion | |
| pip install pyright # ← CI installs this; previously skipped | |
| - name: Run from test/python like CI does (alltests.py) | |
| continue-on-error: true | |
| shell: bash -el {0} | |
| env: | |
| PYTHONPATH: ${{ github.workspace }}/casadi | |
| run: | | |
| set -x | |
| ls "$PYTHONPATH/casadi/_casadi.so" | |
| which python | |
| python -V | |
| cd test/python | |
| # First: just the import probe | |
| python -c 'import casadi; print("simple-import OK", casadi.__version__)' 2>&1 | tail -10 || true | |
| # Then: full alltests.py to match CI EXACTLY | |
| timeout 60 python alltests.py 2>&1 | head -30 | |
| echo "alltests exit=$?" | |
| - name: LD_DEBUG=libs,files dump | |
| continue-on-error: true | |
| shell: bash -el {0} | |
| env: | |
| PYTHONPATH: ${{ github.workspace }}/casadi | |
| run: | | |
| cd test/python | |
| LD_DEBUG=libs,files python -c 'from casadi import *' 2>&1 | tail -80 || true |