Merge pull request #3392 from M35mar/fix-mfuev1-counter-reset #8201
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: Ubuntu Build and Test | |
| on: | |
| push: | |
| paths-ignore: | |
| - 'doc/**' | |
| - 'docker/**' | |
| - 'traces/**' | |
| - '.vscode/**' | |
| - '**.md' | |
| pull_request: | |
| paths-ignore: | |
| - 'doc/**' | |
| - 'docker/**' | |
| - 'traces/**' | |
| - '.vscode/**' | |
| - '**.md' | |
| jobs: | |
| ubuntu-make: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Update apt repos | |
| run: sudo apt-get update | |
| - name: Install dependencies | |
| run: sudo apt-get install -yqq make build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qt6-base-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.4-dev liblua5.4-0 lua5.4 sed libssl-dev libgd-dev | |
| - name: Install Python dependencies | |
| run: pip install -r tools/requirements.txt | |
| - name: make clean | |
| run: make clean | |
| - name: Build | |
| env: | |
| V: 1 | |
| run: make -j$((`nproc` + 1)) | |
| - name: Test | |
| run: make check | |
| ubuntu-make-btaddon: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Update apt repos | |
| run: sudo apt-get update | |
| - name: Install dependencies | |
| run: sudo apt-get install -yqq make build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qt6-base-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.4-dev liblua5.4-0 lua5.4 sed libssl-dev libgd-dev | |
| - name: Install Python dependencies | |
| run: pip install -r tools/requirements.txt | |
| - name: make clean | |
| run: make clean | |
| - name: Build | |
| env: | |
| V: 1 | |
| PLATFORM_EXTRAS: BTADDON | |
| run: make -j$((`nproc` + 1)) | |
| - name: Test | |
| run: make check | |
| ubuntu-cmake: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Update apt repos | |
| run: sudo apt-get update | |
| - name: Install dependencies | |
| run: sudo apt-get install -yqq make build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qt6-base-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.4-dev liblua5.4-0 lua5.4 sed libssl-dev libgd-dev | |
| - name: Install Python dependencies | |
| run: pip install -r tools/requirements.txt | |
| - name: Prepare Build Folders | |
| run: | | |
| mkdir -p client/build | |
| ln -s ../cmdscripts client/build/ | |
| ln -s ../luascripts client/build/ | |
| ln -s ../pyscripts client/build/ | |
| ln -s ../lualibs client/build/ | |
| - name: Initiate cmake environment | |
| run: cmake .. | |
| working-directory: client/build/ | |
| - name: Build | |
| env: | |
| VERBOSE: 1 | |
| run: make -j$((`nproc` + 1)) | |
| working-directory: client/build/ | |
| - name: Test | |
| env: | |
| CHECKARGS: "--clientbin ./client/build/proxmark3" | |
| run: make client/check | |
| ubuntu-experimental-lib: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Update apt repos | |
| run: sudo apt-get update | |
| - name: Install dependencies | |
| run: sudo apt-get install -yqq make build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qt6-base-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.4-dev liblua5.4-0 lua5.4 sed libssl-dev libgd-dev | |
| - name: Install Python dependencies | |
| run: pip install -r tools/requirements.txt | |
| - name: Configure experimental lib | |
| run: cmake -S client/experimental_lib -B client/experimental_lib/build | |
| - name: Build experimental lib | |
| env: | |
| VERBOSE: 1 | |
| run: | | |
| set +e | |
| cmake --build client/experimental_lib/build -j$((`nproc` + 1)) 2>&1 | tee experimental-lib-build.log | |
| status=${PIPESTATUS[0]} | |
| if [ "$status" -ne 0 ]; then | |
| symbols="$(sed -n "s/.*undefined reference to [\`']\\([^'\`]*\\)['\`].*/\\1/p" experimental-lib-build.log | sort -u)" | |
| if [ -n "$symbols" ]; then | |
| { | |
| echo "### Experimental lib unresolved symbols" | |
| echo | |
| echo "The experimental lib failed to link because these symbols are unresolved:" | |
| echo | |
| echo '```' | |
| echo "$symbols" | |
| echo '```' | |
| echo | |
| echo "Add the defining source file(s) to \`client/experimental_lib/CMakeLists.txt\` under \`TARGET_SOURCES\`." | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| symbols_one_line="$(echo "$symbols" | tr '\n' ',' | sed 's/,$//; s/,/, /g')" | |
| echo "::error title=Experimental lib has unresolved symbols::Undefined symbol(s): $symbols_one_line. Add the defining source file(s) to client/experimental_lib/CMakeLists.txt under TARGET_SOURCES." | |
| fi | |
| exit "$status" | |
| fi | |
| - name: Import experimental Python module | |
| run: | | |
| ln -sf ../build/libpm3rrg_rdv4.so _pm3.so | |
| PYTHONPATH=../../pyscripts:. python3 -c "import pm3" | |
| working-directory: client/experimental_lib/example_py |