Skip to content

MAD revamp to harden the parser with typed structs and to fix memory safety bugs #7762

MAD revamp to harden the parser with typed structs and to fix memory safety bugs

MAD revamp to harden the parser with typed structs and to fix memory safety bugs #7762

Workflow file for this run

name: Windows Build and Test
on:
push:
paths-ignore:
- 'doc/**'
- 'docker/**'
- 'traces/**'
- '.vscode/**'
- '**.md'
pull_request:
paths-ignore:
- 'doc/**'
- 'docker/**'
- 'traces/**'
- '.vscode/**'
- '**.md'
jobs:
proxspace:
runs-on: windows-latest
defaults:
run:
shell: pwsh
env:
PATH: C:/ProxSpace/msys2/mingw64/bin;C:/ProxSpace/msys2/usr/local/bin;C:/ProxSpace/msys2/usr/bin;C:/ProxSpace/msys2/bin
MSYSTEM: MINGW64
PYTHONHOME: /mingw64
steps:
- name: ProxSpace download
run: Invoke-WebRequest "https://github.com/Gator96100/ProxSpace/archive/master.zip" -outfile "C:\proxspace.zip" -Passthru
- name: ProxSpace extract
run: Expand-Archive -LiteralPath "C:\proxspace.zip" -DestinationPath "C:\"
- name: ProxSpace delete zip
run: Remove-Item "C:\proxspace.zip"
- name: ProxSpace rename folder
run: Get-ChildItem -Path "C:\ProxSpace-*" | Rename-Item -NewName (Split-Path C:\ProxSpace -Leaf)
- name: ProxSpace version
run: |
$psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "C:\ProxSpace\setup\09-proxspace_setup.post").Line.Split("""")[1]
Write-Host "ProxSpace version: $psversion"
- name: ProxSpace initial startup
working-directory: C:\ProxSpace
run: |
$maxAttempts = 3
$delay = 20
for ($i = 1; $i -le $maxAttempts; $i++) {
Write-Host "Attempt $i..."
./runme64.bat -c "exit"
if ($LASTEXITCODE -eq 0) {
./runme64.bat -c "pacman -Syu --noconfirm mingw-w64-x86_64-qt6-base"
exit 0
}
if ($i -lt $maxAttempts) { Start-Sleep -Seconds $delay }
}
exit 1
- uses: actions/checkout@v4
- name: make clean
run: make clean
- name: Build
run: make -j $([System.Environment]::ProcessorCount + 1) V=1
- name: Test
run: make check
- name: make clean
run: make clean
- name: Build btaddon
run: make -j $([System.Environment]::ProcessorCount + 1) V=1 PLATFORM_EXTRAS=BTADDON
- name: Test btaddon
run: make check
- name: make clean
run: make clean
- name: Prepare cmake 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 -G"MSYS Makefiles" ..
working-directory: client/build/
- name: Build cmake
run: make -j $([System.Environment]::ProcessorCount + 1) VERBOSE=1
working-directory: client/build/
- name: Test cmake
run: make client/check CHECKARGS="--clientbin ./client/build/proxmark3"
wsl:
runs-on: windows-latest
defaults:
run:
shell: wsl-bash {0}
steps:
- name: WSL setup
uses: Vampire/setup-wsl@v5
with:
distribution: Ubuntu-24.04
update: "true"
additional-packages: git
ca-certificates
build-essential
pkg-config
libreadline-dev
gcc-arm-none-eabi
libnewlib-dev
libbz2-dev
liblz4-dev
qt6-base-dev
cmake
libpython3-dev
libssl-dev
libgd-dev
- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
install -m 0755 /root/.local/bin/uv /usr/local/bin/
install -m 0755 /root/.local/bin/uvx /usr/local/bin/
- name: Set git to use LF
shell: bash
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@v4
- name: make clean
run: make clean
- name: Build
run: make -j$((`nproc` + 1)) V=1
- name: Test
run: make check
- name: make clean
run: make clean
- name: Build btaddon
run: make -j$((`nproc` + 1)) V=1 PLATFORM_EXTRAS=BTADDON
- name: Test btaddon
run: make check
- name: make clean
run: make clean
- name: Prepare cmake 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 cmake
run: make -j$((`nproc` + 1)) VERBOSE=1
working-directory: client/build/
- name: Test cmake
run: make client/check CHECKARGS="--clientbin ./client/build/proxmark3"