Build macOS #28
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build macOS | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: [master, release] | |
workflow_dispatch: | |
env: | |
MACOSX_DEPLOYMENT_TARGET: 10.15 | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- os: macos-12 | |
TARGET: macos | |
CMD_BUILD: python setup.py bdist_wheel --plat-name macosx_10_15_x86_64 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.9" | |
- name: Collect submodules | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Download ANTs | |
uses: robinraju/release-downloader@main | |
with: | |
repository: "raidionics/Raidionics-dependencies" | |
latest: true | |
fileName: "ANTsX-v2.4.3_macos.tar.gz" | |
out-file-path: "downloads" | |
- name: Extract ANTs | |
run: | | |
cd ${{github.workspace}}/downloads/ | |
tar -xzf ANTsX-v2.4.3_macos.tar.gz -C ${{github.workspace}}/downloads/ | |
mkdir ${{github.workspace}}/ANTs | |
# mv ${{github.workspace}}/downloads/install ${{github.workspace}}/ANTs/ | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install wheel setuptools | |
- name: Built wheel for ${{matrix.TARGET}} | |
run: ${{matrix.CMD_BUILD}} | |
- name: Upload Python wheel | |
uses: actions/upload-artifact@v4 | |
with: | |
name: Python wheel | |
path: ${{github.workspace}}/dist/raidionicsrads-*.whl | |
if-no-files-found: error | |
test: | |
needs: build | |
strategy: | |
matrix: | |
os: [ macos-12, macos-13] | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: "Python wheel" | |
- name: Install wheel | |
run: | | |
pip install --upgrade pip | |
pip install --no-cache-dir --force-reinstall --find-links=${{github.workspace}} raidionicsrads-* | |
shell: bash | |
- name: Test CLI | |
run: | | |
raidionicsrads --help | |
raidionicsseg --help | |
- name: Clone repo | |
uses: actions/checkout@v4 | |
- name: Segmentation pipeline unit test | |
run: cd ${{github.workspace}}/tests && python segmentation_pipeline_test.py | |
- name: Reporting pipeline unit test | |
run: cd ${{github.workspace}}/tests && python reporting_pipeline_test.py | |
- name: Reporting pipeline with BrainGrid unit test | |
run: cd ${{github.workspace}}/tests && python reporting_pipeline_braingrid_test.py | |
- name: Registration pipeline unit test with Python backend | |
run: cd ${{github.workspace}}/tests && python registration_pipeline_test.py |