textual
[RRG-proxmark3.git] / .github / workflows / windows.yml
blob9d99c8c06735e43616bfb3c07a3aa56949a2ab24
1 name: Windows Build and Test
3 on:
4   push:
5     paths-ignore:
6       - 'doc/**'
7       - 'docker/**'
8       - 'traces/**'
9       - '.vscode/**'
10   pull_request:
11     paths-ignore:
12       - 'doc/**'
13       - 'docker/**'
14       - 'traces/**'
15       - '.vscode/**'
18 jobs:
19   proxspace:
20     runs-on: windows-latest
21     defaults:
22       run:
23         shell: pwsh
24     env:
25       PATH: C:/ProxSpace/msys2/mingw64/bin;C:/ProxSpace/msys2/usr/local/bin;C:/ProxSpace/msys2/usr/bin;C:/ProxSpace/msys2/bin
26       MSYSTEM: MINGW64
28     steps:
29       - name: ProxSpace download
30         run: Invoke-WebRequest "https://github.com/Gator96100/ProxSpace/archive/master.zip" -outfile "C:\proxspace.zip" -Passthru
32       - name: ProxSpace extract
33         run: Expand-Archive -LiteralPath "C:\proxspace.zip" -DestinationPath "C:\"
35       - name: ProxSpace delete zip
36         run: Remove-Item "C:\proxspace.zip"
38       - name: ProxSpace rename folder
39         run: Get-ChildItem -Path "C:\ProxSpace-*" | Rename-Item -NewName (Split-Path C:\ProxSpace -Leaf)
41       - name: ProxSpace version
42         run: |
43           $psversion = (Select-String -Pattern 'PSVERSION=' -SimpleMatch -Path "C:\ProxSpace\setup\09-proxspace_setup.post").Line.Split("""")[1]
44           Write-Host "ProxSpace version: $psversion"
46       - name: ProxSpace initial startup
47         working-directory: C:\ProxSpace
48         run: ./runme64.bat -c "exit"
50       - uses: actions/checkout@v2
52       - name: make clean
53         run: make clean
55       - name: Build
56         run: make V=1
58       - name: Test
59         run: make check
61       - name: make clean
62         run: make clean
64       - name: Build btaddon
65         run: make V=1 PLATFORM_EXTRAS=BTADDON
67       - name: Test btaddon
68         run: make check
70       - name: make clean
71         run: make clean
73       - name: Prepare cmake build folders
74         run: mkdir -p client/build
76       - name: Initiate cmake environment
77         run: cmake -G"MSYS Makefiles" ..
78         working-directory: client/build/
80       - name: Build cmake
81         run: make VERBOSE=1
82         working-directory: client/build/
84       - name: Test cmake
85         run: make client/check CHECKARGS="--clientbin ./client/build/proxmark3"
87   wsl:
88     runs-on: windows-latest
89     defaults:
90       run:
91         shell: wsl-bash {0}
93     steps:
94       - name: WSL setup
95         uses: Vampire/setup-wsl@v1
96         with:
97           distribution: Ubuntu-20.04
98           update: "true"
99           additional-packages: git
100             ca-certificates
101             build-essential
102             pkg-config
103             libreadline-dev
104             gcc-arm-none-eabi
105             libnewlib-dev
106             libbz2-dev
107             qtbase5-dev
108             cmake
109             libpython3-dev
110             python3
111             python3-pip
112             python3-dev
113             libpython3-all-dev
115       - name: Install Python dependencies
116         run: |
117           python3 -m pip install --upgrade pip
118           python3 -m pip install setuptools
119           python3 -m pip install ansicolors sslcrypto
121       - name: WSL QT fix
122         run: sudo strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
124       - name: Set git to use LF
125         shell: bash
126         run: |
127           git config --global core.autocrlf false
128           git config --global core.eol lf
130       - uses: actions/checkout@v2
132       - name: make clean
133         run: make clean
135       - name: Build
136         run: make V=1
138       - name: Test
139         run: make check
141       - name: make clean
142         run: make clean
144       - name: Build btaddon
145         run: make V=1 PLATFORM_EXTRAS=BTADDON
147       - name: Test btaddon
148         run: make check
150       - name: make clean
151         run: make clean
153       - name: Prepare cmake build folders
154         run: mkdir -p client/build
156       - name: Initiate cmake environment
157         run: cmake ..
158         working-directory: client/build/
160       - name: Build cmake
161         run: make VERBOSE=1
162         working-directory: client/build/
164       - name: Test cmake
165         run: make client/check CHECKARGS="--clientbin ./client/build/proxmark3"