textual
[RRG-proxmark3.git] / .github / workflows / macos.yml
blobed96a3c1f226eed109949d4ce45f9f73d52c85d5
1 name: MacOS 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/**'
17 jobs:
18   macos-make:
19     runs-on: macos-latest
21     steps:
22       - uses: actions/checkout@v2
24       - name: Set Git http.postBuffer to something high
25         run: git config --global http.postBuffer 524288000
27       - name: Handle homebrew quirks
28         run: rm -rf /usr/local/bin/2to3
30       - name: Update brew repos
31         run: brew update
32         continue-on-error: true
34       - name: Tap RfidResearchGroup/proxmark3
35         run: brew tap RfidResearchGroup/proxmark3
37       - name: Install dependencies
38         run: brew install readline qt5 RfidResearchGroup/proxmark3/arm-none-eabi-gcc
40       - name: Install Python dependencies
41         run: |
42           python3 -m pip install --upgrade pip
43           python3 -m pip install setuptools ansicolors sslcrypto
44           if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; fi
46       - name: make clean
47         run: make clean
49       - name: Build
50         env:
51           V: 1
52         run: make
54       - name: Test
55         run: make check
57   macos-make-btaddon:
58     if: always()
59     needs: [macos-make]
60     runs-on: macos-latest
62     steps:
63       - uses: actions/checkout@v2
65       - name: Set Git http.postBuffer to something high
66         run: git config --global http.postBuffer 524288000
68       - name: Handle homebrew quirks
69         run: rm -rf /usr/local/bin/2to3
71       - name: Update brew repos
72         run: brew update
73         continue-on-error: true
75       - name: Tap RfidResearchGroup/proxmark3
76         run: brew tap RfidResearchGroup/proxmark3
78       - name: Install dependencies
79         run: brew install readline qt5 RfidResearchGroup/proxmark3/arm-none-eabi-gcc
81       - name: Install Python dependencies
82         run: |
83           python3 -m pip install --upgrade pip
84           python3 -m pip install setuptools ansicolors sslcrypto
85           if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; fi
87       - name: make clean
88         run: make clean
90       - name: Build
91         env:
92           V: 1
93           PLATFORM_EXTRAS: BTADDON
94         run: make
96       - name: Test
97         run: make check
99   macos-cmake:
100     if: always()
101     needs: [macos-make, macos-make-btaddon]
102     runs-on: macos-latest
104     steps:
105       - uses: actions/checkout@v2
107       - name: Set Git http.postBuffer to something high
108         run: git config --global http.postBuffer 524288000
110       - name: Handle homebrew quirks
111         run: rm -rf /usr/local/bin/2to3
113       - name: Update brew repos
114         run: brew update
115         continue-on-error: true
117       - name: Tap RfidResearchGroup/proxmark3
118         run: brew tap RfidResearchGroup/proxmark3
120       - name: Install dependencies
121         run: brew install readline qt5 RfidResearchGroup/proxmark3/arm-none-eabi-gcc
123       - name: Install Python dependencies
124         run: |
125           python3 -m pip install --upgrade pip
126           python3 -m pip install setuptools ansicolors sslcrypto
127           if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; fi
129       - name: Prepare Build Folders
130         run: mkdir -p client/build
132       - name: Initiate cmake environment
133         run: cmake ..
134         working-directory: client/build/
136       - name: Build
137         env:
138           VERBOSE: 1
139         run: make
140         working-directory: client/build/
142       - name: Test
143         env:
144           CHECKARGS: "--clientbin ./client/build/proxmark3"
145         run: make client/check