Skip to content

Commit 0dd448a

Browse files
committed
CI: run analyzer and web tests on macOS via OS matrix
Add macos-latest to the analyzer and web job matrices. macOS uses install-deps-macos.sh (brew) for dependencies. Psql variants excluded on macOS (no Docker). macOS jobs are continue-on-error for now.
1 parent 83503bf commit 0dd448a

2 files changed

Lines changed: 33 additions & 39 deletions

File tree

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
brew install llvm cppcheck openldap
4+
5+
echo "$(brew --prefix llvm)/bin" >> "$GITHUB_PATH"

.github/workflows/test.yml

Lines changed: 28 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -102,17 +102,27 @@ jobs:
102102
103103
analyzer:
104104
name: Analyzer
105-
runs-on: ubuntu-24.04
105+
runs-on: ${{ matrix.os }}
106+
continue-on-error: ${{ matrix.os == 'macos-latest' }}
107+
108+
strategy:
109+
matrix:
110+
os: [ubuntu-24.04, macos-latest]
106111

107112
steps:
108113
- uses: actions/checkout@v2
109114
- uses: actions/setup-python@v4
110115
with:
111-
python-version: '3.10'
116+
python-version: '3.9'
112117

113-
- name: Install dependencies
118+
- name: Install dependencies (Linux)
119+
if: runner.os == 'Linux'
114120
run: sh .github/workflows/install-deps.sh
115121

122+
- name: Install dependencies (macOS)
123+
if: runner.os == 'macOS'
124+
run: sh .github/workflows/install-deps-macos.sh
125+
116126
- name: Build the package
117127
run: |
118128
make pip_dev_deps
@@ -126,42 +136,10 @@ jobs:
126136
working-directory: analyzer
127137
run: make test_unit_cov
128138

129-
analyzer-macos:
130-
name: Analyzer (macOS)
131-
runs-on: macos-latest
132-
133-
steps:
134-
- uses: actions/checkout@v2
135-
- uses: actions/setup-python@v4
136-
with:
137-
python-version: '3.9'
138-
139-
- name: Install dependencies
140-
run: |
141-
brew install llvm cppcheck
142-
echo "$(brew --prefix llvm)/bin" >> $GITHUB_PATH
143-
144-
- name: Build the package
145-
run: |
146-
make pip_dev_deps
147-
BUILD_UI_DIST=NO make package
148-
149-
- name: Run analyzer unit tests
150-
working-directory: analyzer
151-
run: make test_unit
152-
153-
- name: Install web dependencies
154-
run: |
155-
brew install openldap
156-
pip3 install -r web/requirements_py/auth/requirements.txt
157-
158-
- name: Run web unit tests
159-
working-directory: web
160-
run: make test_unit
161-
162139
web:
163140
name: Web
164-
runs-on: ubuntu-24.04
141+
runs-on: ${{ matrix.os }}
142+
continue-on-error: ${{ matrix.os == 'macos-latest' }}
165143

166144
services:
167145
postgres:
@@ -178,17 +156,28 @@ jobs:
178156
179157
strategy:
180158
matrix:
159+
os: [ubuntu-24.04, macos-latest]
181160
database: [sqlite, psql_pg8000, psql_psycopg2]
161+
exclude:
162+
- os: macos-latest
163+
database: psql_pg8000
164+
- os: macos-latest
165+
database: psql_psycopg2
182166

183167
steps:
184168
- uses: actions/checkout@v2
185169
- uses: actions/setup-python@v4
186170
with:
187-
python-version: '3.10'
171+
python-version: '3.9'
188172

189-
- name: Install dependencies
173+
- name: Install dependencies (Linux)
174+
if: runner.os == 'Linux'
190175
run: sh .github/workflows/install-deps.sh
191176

177+
- name: Install dependencies (macOS)
178+
if: runner.os == 'macOS'
179+
run: sh .github/workflows/install-deps-macos.sh
180+
192181
- name: Init .pgpass
193182
if: matrix.database != 'sqlite'
194183
run: |

0 commit comments

Comments
 (0)