diff --git a/.github/ISSUE_TEMPLATE/checklist-for-release.md b/.github/ISSUE_TEMPLATE/checklist-for-release.md index cfc7c9abd..5deb64538 100644 --- a/.github/ISSUE_TEMPLATE/checklist-for-release.md +++ b/.github/ISSUE_TEMPLATE/checklist-for-release.md @@ -22,22 +22,7 @@ assignees: doegox, iceman1001 # OS compilation and tests -```bash -#!/usr/bin/env bash - -set -x -make clean && make -j PLATFORM=PM3GENERIC PLATFORM_EXTRAS= && tools/pm3_tests.sh --long || exit 1 -make clean && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS= || exit 1 -make clean && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON || exit 1 -make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON && INSTALLSUDO=sudo make install PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON && ( cd /tmp; proxmark3 -c 'data load -f lf_EM4x05.pm3;lf search -1'|grep 'Valid FDX-B ID found' ) && INSTALLSUDO=sudo make uninstall || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake .. && make -j PLATFORM=PM3GENERIC PLATFORM_EXTRAS= && cp -a ../*scripts ../*libs . && ../../tools/pm3_tests.sh --clientbin $(pwd)/proxmark3 client ) || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake .. && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS= ) || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake .. && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON ) || exit 1 - -# Hitag2crack, optionally with --long and --opencl ... -make hitag2crack/clean && make hitag2crack && tools/pm3_tests.sh hitag2crack || exit 1 -echo PASS -``` +Run `tools/release_tests.sh` on: - [ ] RPI Zero - [ ] Jetson Nano diff --git a/docker/archlinux/Dockerfile b/docker/archlinux/Dockerfile index 709b7b5d4..93584c098 100644 --- a/docker/archlinux/Dockerfile +++ b/docker/archlinux/Dockerfile @@ -10,6 +10,9 @@ RUN pacman -S --noconfirm sudo git base-devel cmake libusb readline bzip2 arm-no RUN pacman -S --noconfirm python-pip RUN python3 -m pip install ansicolors sslcrypto +# OpenCL for hitag2crack +RUN pacman -S --noconfirm ocl-icd + # Create rrg user RUN useradd -ms /bin/bash rrg RUN passwd -d rrg diff --git a/docker/archlinux/README.md b/docker/archlinux/README.md index 35fdf0c78..872d46cb4 100644 --- a/docker/archlinux/README.md +++ b/docker/archlinux/README.md @@ -32,18 +32,18 @@ This script does both setup the mirrors and pip install and then run a bunch of different builds with make and cmake together with the different combos of RDV4, GENERIC, BTADDON combos. -If all tests OK, the script will finish. +If all tests OK, the script will finish with PASS. # Notes to run tests -Add first the mirrors, see above, if needed. +Add first the mirrors, see above, if needed. The release test build script is to be run in proxmark root folder inside the docker env. ``` docker/archlinux/run_tests.sh; -``` +``` -Or if you want to run single test, +Or if you want to run single test, ``` make clean; make -j diff --git a/docker/archlinux/run_tests.sh b/docker/archlinux/run_tests.sh index 9c2b4daeb..53eeda9a3 100755 --- a/docker/archlinux/run_tests.sh +++ b/docker/archlinux/run_tests.sh @@ -2,7 +2,6 @@ # Iceman 2022 # # This script is to be run from proxmark root folder inside the docker env -# cd proxmark; # docker/archlinux/run_tests.sh; # # Script contains two phases. @@ -40,18 +39,4 @@ pacman -Ss '^gcc$' # sudo pacman -S testing/gcc # sudo pacman -S gcc -# replace egrep to silence warning -sed -i 's/egrep/grep -E/g' tools/pm3_tests.sh - -# Makefile build tests -make clean; make -j PLATFORM=PM3GENERIC; tools/pm3_tests.sh --long || exit 1 -make clean; make -j PLATFORM=PM3RDV4; tools/pm3_tests.sh --long || exit 1 -make clean; make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON; tools/pm3_tests.sh --long || exit 1 -# sudo make install; pushd /tmp; proxmark3 -c 'data load -f lf_EM4x05.pm3;lf search -1'; popd; sudo make uninstall - -# cmake client build test -#( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client --long || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j PLATFORM=PM3GENERIC ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client --long || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j PLATFORM=PM3RDV4 ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client --long || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client || exit 1 - +tools/release_tests.sh diff --git a/docker/debian-bullseye/Dockerfile b/docker/debian-bullseye/Dockerfile index 53114b795..ff456b558 100644 --- a/docker/debian-bullseye/Dockerfile +++ b/docker/debian-bullseye/Dockerfile @@ -11,8 +11,12 @@ RUN apt-get update && \ RUN apt-get install -y python3-minimal && \ apt-get install -y python3-pip && \ + apt-get clean && \ python3 -m pip install ansicolors sslcrypto +RUN apt-get install -y opencl-dev && \ + apt-get clean + # Create rrg user RUN useradd -ms /bin/bash rrg RUN passwd -d rrg diff --git a/docker/debian-bullseye/README.md b/docker/debian-bullseye/README.md index 1170c19fe..e86881019 100644 --- a/docker/debian-bullseye/README.md +++ b/docker/debian-bullseye/README.md @@ -1,9 +1,8 @@ # Notes on run_tests.sh script -This script does both setup the mirrors and pip install and then run a -bunch of different builds with make and cmake together with the different combos -of RDV4, GENERIC, BTADDON combos. +This script runs a bunch of different builds with make and cmake together +with the different combos of RDV4, GENERIC, BTADDON combos. -If all tests OK, the script will finish. +If all tests OK, the script will finish with PASS. # Notes to run tests @@ -11,9 +10,9 @@ The script is to be run in proxmark root folder inside the docker env. ``` docker/debian-bullseye/run_tests.sh; -``` +``` -Or if you want to run single test, +Or if you want to run single test, ``` sudo apt update diff --git a/docker/debian-bullseye/run_tests.sh b/docker/debian-bullseye/run_tests.sh new file mode 100755 index 000000000..25e6d2a21 --- /dev/null +++ b/docker/debian-bullseye/run_tests.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Iceman 2022 +# +# This script is to be run from proxmark root folder inside the docker env +# docker/debian-bullseye/run_tests.sh; + +sudo apt update && sudo apt upgrade -y +tools/release_tests.sh diff --git a/docker/kali/Dockerfile b/docker/kali/Dockerfile index e8a506dc5..79d4bb9a6 100644 --- a/docker/kali/Dockerfile +++ b/docker/kali/Dockerfile @@ -9,9 +9,13 @@ RUN apt-get update && \ apt-get install -y --no-install-recommends git ca-certificates build-essential cmake pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev libbz2-dev libbluetooth-dev libpython3-dev libssl-dev sudo && \ apt-get clean -RUN apt install -y python3-minimal -RUN apt install -y python3-pip -RUN python3 -m pip install ansicolors sslcrypto +RUN apt-get install -y python3-minimal && \ + apt-get install -y python3-pip && \ + apt-get clean && \ + python3 -m pip install ansicolors sslcrypto + +RUN apt-get install -y opencl-dev && \ + apt-get clean # Create rrg user RUN useradd -ms /bin/bash rrg diff --git a/docker/kali/README.md b/docker/kali/README.md index e76d73ae2..dbf1f7f50 100644 --- a/docker/kali/README.md +++ b/docker/kali/README.md @@ -1,9 +1,8 @@ # Notes on run_tests.sh script -This script does both setup the mirrors and pip install and then run a -bunch of different builds with make and cmake together with the different combos -of RDV4, GENERIC, BTADDON combos. +This script runs a bunch of different builds with make and cmake together +with the different combos of RDV4, GENERIC, BTADDON combos. -If all tests OK, the script will finish. +If all tests OK, the script will finish with PASS. # Notes to run tests @@ -11,9 +10,9 @@ The script is to be run in proxmark root folder inside the docker env. ``` docker/kali/run_tests.sh; -``` +``` -Or if you want to run single test, +Or if you want to run single test, ``` sudo apt update make clean; make -j diff --git a/docker/kali/run_tests.sh b/docker/kali/run_tests.sh index 27b1c608f..dec20763b 100755 --- a/docker/kali/run_tests.sh +++ b/docker/kali/run_tests.sh @@ -2,33 +2,7 @@ # Iceman 2022 # # This script is to be run from proxmark root folder inside the docker env -# cd proxmark; -# docker/archlinux/run_tests.sh; -# -# Script contains two phases. -# -# -- Init / setup phase -# Script to be run inside docker env. First install some dependencies for docker image. -# -# -- Build phase begins -# make builds -# cmake client builds -# of the different possible PLATFORM (PM3RDV4 / PM3GENERIC) and BTADDON combos +# docker/kali/run_tests.sh; sudo apt update && sudo apt upgrade -y - -# replace egrep to silence warning -sed -i 's/egrep/grep -E/g' tools/pm3_tests.sh - -# Makefile build tests -make clean; make -j PLATFORM=PM3GENERIC; tools/pm3_tests.sh --long || exit 1 -make clean; make -j PLATFORM=PM3RDV4; tools/pm3_tests.sh --long || exit 1 -make clean; make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON; tools/pm3_tests.sh --long || exit 1 -# sudo make install; pushd /tmp; proxmark3 -c 'data load -f lf_EM4x05.pm3;lf search -1'; popd; sudo make uninstall - -# cmake client build test -#( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client --long || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j PLATFORM=PM3GENERIC ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client --long || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j PLATFORM=PM3RDV4 ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client --long || exit 1 -( cd client; rm -rf build; mkdir build;cd build;cmake ..;make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON ); PM3BIN=./client/build/proxmark3 tools/pm3_tests.sh client || exit 1 - +tools/release_tests.sh diff --git a/tools/release_tests.sh b/tools/release_tests.sh new file mode 100755 index 000000000..728e546f3 --- /dev/null +++ b/tools/release_tests.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# To be run from proxmark3 root directory +set -x +make clean && make -j PLATFORM=PM3GENERIC PLATFORM_EXTRAS= && tools/pm3_tests.sh --long || exit 1 +make clean && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS= || exit 1 +make clean && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON || exit 1 +make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON && INSTALLSUDO=sudo make install PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON && ( cd /tmp; proxmark3 -c 'data load -f lf_EM4x05.pm3;lf search -1'|grep 'Valid FDX-B ID found' ) && INSTALLSUDO=sudo make uninstall || exit 1 +( cd client; rm -rf build; mkdir build;cd build;cmake .. && make -j PLATFORM=PM3GENERIC PLATFORM_EXTRAS= && cp -a ../*scripts ../*libs . && ../../tools/pm3_tests.sh --clientbin $(pwd)/proxmark3 client ) || exit 1 +( cd client; rm -rf build; mkdir build;cd build;cmake .. && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS= ) || exit 1 +( cd client; rm -rf build; mkdir build;cd build;cmake .. && make -j PLATFORM=PM3RDV4 PLATFORM_EXTRAS=BTADDON ) || exit 1 + +# Hitag2crack, optionally with --long and --opencl... +make hitag2crack/clean && make hitag2crack && tools/pm3_tests.sh hitag2crack || exit 1 +echo PASS