Merge pull request #2688 from Antiklesys/master
[RRG-proxmark3.git] / .github / workflows / macos.yml
blob4b93adfeea370c400fc1cad5eaea48d02ff98e7f
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@v4
24       - uses: actions/setup-python@v5
25         with:
26           python-version: '3.12'
28       - name: Set Git http.postBuffer to something high
29         run: git config --global http.postBuffer 524288000
31       - name: Handle homebrew quirks
32         run: rm -rf /usr/local/bin/2to3
34       - name: Update brew repos
35         run: brew update
36         continue-on-error: true
38       - name: Tap RfidResearchGroup/proxmark3
39         run: brew tap RfidResearchGroup/proxmark3
41       - name: Install dependencies
42         run: brew install readline coreutils qt@5 RfidResearchGroup/proxmark3/arm-none-eabi-gcc openssl gd
43         continue-on-error: true
45       - name: Install Python dependencies
46         run: pip install -r tools/requirements.txt
48       - name: make clean
49         run: make clean
51       - name: Build
52         env:
53           V: 1
54         run: make -j$((`sysctl -n hw.ncpu` + 1))
56       - name: Test
57         run: make check
59   macos-make-btaddon:
60     runs-on: macos-latest
62     steps:
63       - uses: actions/checkout@v4
65       - uses: actions/setup-python@v5
66         with:
67           python-version: '3.12'
69       - name: Set Git http.postBuffer to something high
70         run: git config --global http.postBuffer 524288000
72       - name: Handle homebrew quirks
73         run: rm -rf /usr/local/bin/2to3
75       - name: Update brew repos
76         run: brew update
77         continue-on-error: true
79       - name: Tap RfidResearchGroup/proxmark3
80         run: brew tap RfidResearchGroup/proxmark3
82       - name: Install dependencies
83         run: brew install readline coreutils qt@5 RfidResearchGroup/proxmark3/arm-none-eabi-gcc openssl gd
84         continue-on-error: true
86       - name: Install Python dependencies
87         run: pip install -r tools/requirements.txt
89       - name: make clean
90         run: make clean
92       - name: Build
93         env:
94           V: 1
95           PLATFORM_EXTRAS: BTADDON
96         run: make -j$((`sysctl -n hw.ncpu` + 1))
98       - name: Test
99         run: make check
101   macos-cmake:
102     runs-on: macos-latest
104     steps:
105       - uses: actions/checkout@v4
107       - uses: actions/setup-python@v5
108         with:
109           python-version: '3.12'
111       - name: Set Git http.postBuffer to something high
112         run: git config --global http.postBuffer 524288000
114       - name: Handle homebrew quirks
115         run: rm -rf /usr/local/bin/2to3
117       - name: Update brew repos
118         run: brew update
119         continue-on-error: true
121       - name: Tap RfidResearchGroup/proxmark3
122         run: brew tap RfidResearchGroup/proxmark3
124       - name: Install dependencies
125         run: brew install readline coreutils qt@5 RfidResearchGroup/proxmark3/arm-none-eabi-gcc openssl gd
126         continue-on-error: true
128       - name: Install Python dependencies
129         run: pip install -r tools/requirements.txt
131       - name: Prepare Build Folders
132         run: |
133           mkdir -p client/build
134           ln -s ../cmdscripts client/build/
135           ln -s ../luascripts client/build/
136           ln -s ../pyscripts client/build/
137           ln -s ../lualibs client/build/
139       - name: Initiate cmake environment
140         run: cmake ..
141         working-directory: client/build/
143       - name: Build
144         env:
145           VERBOSE: 1
146         run: make -j$((`sysctl -n hw.ncpu` + 1))
147         working-directory: client/build/
149       - name: Test
150         env:
151           CHECKARGS: "--clientbin ./client/build/proxmark3"
152         run: make client/check