Python wrapping and Protocol Decode #54
Workflow file for this run
This file contains 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: Build Linux binaries | |
on: [push, pull_request] | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- run: sudo apt-get update | |
- run: sudo apt-get install -y libusb-1.0-0-dev libzmq3-dev meson libsdl2-dev libdwarf-dev libdw-dev libelf-dev libcapstone-dev ninja-build protobuf-compiler | |
- run: pip3 install meson==1.2.0 | |
- uses: actions/checkout@v3 | |
- run: git clone https://github.com/pybind/pybind11.git | |
working-directory: ext/orbetto | |
- run: git clone https://github.com/puddly/ripyl.git # Ripyl is a Protocol Decoder Python Library | |
working-directory: ext/orbetto | |
- run: pip3 install scipy # Python dependency for Ripyl | |
- run: pip3 install numpy # Python dependency for Ripyl | |
- run: pip3 uninstall setuptools -y | |
- run: pip3 install setuptools==45 # Ripyl needs setuptools 45 to install | |
- run: python3 setup.py install # Install Ripyl | |
working-directory: ext/orbetto/ripyl # in the source directory | |
- run: pip3 install pandas # Python dependency for fast data analysis | |
- run: pip3 install pyelftools # Python dependency for elf file analysis | |
- run: pip3 install cxxfilt # Python dependency for c++ function name demangling | |
- run: meson setup ./build | |
working-directory: ext/orbetto | |
- run: ninja -C ./build | |
working-directory: ext/orbetto | |
- run: meson install -C ./build --destdir ./install | |
working-directory: ext/orbetto | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: orbetto-linux | |
path: ext/orbetto/build/install/**/* | |
if-no-files-found: error | |
- run: mkdir buffer | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/mosi.csv.zip | funzip > buffer/mosi.csv | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/miso.csv.zip | funzip > buffer/miso.csv | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/cs.csv.zip | funzip > buffer/cs.csv | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/clk.csv.zip | funzip > buffer/clk.csv | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/sync.csv.zip | funzip > buffer/sync.csv | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/trace.swo.zip | funzip > trace.swo | |
- run: curl -L https://github.com/niklaut/orbetto-support-files/raw/main/px4_fmu-v5x_default.elf.zip | funzip > px4_fmu-v5x_default.elf | |
- run: python3 ext/orbetto/orbethon.py -f trace.swo -e px4_fmu-v5x_default.elf --enable_spi_debug -dd | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: test_output | |
path: orbetto.perf | |
if-no-files-found: error | |