Removed some unnecessary destructors #155
This file contains hidden or 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: CI macOS 14 arm64 | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| release: | |
| types: [ published ] | |
| workflow_dispatch: | |
| env: | |
| BUILD_TYPE: Release | |
| MACOSX_DEPLOYMENT_TARGET: 11.0 | |
| jobs: | |
| build: | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Install dependencies | |
| run: | | |
| brew reinstall zlib | |
| brew install openslide pcre libomp | |
| # Install a specific version of libomp (14.0.6) since newer versions fail with cmake | |
| #curl https://raw.githubusercontent.com/Homebrew/homebrew-core/c87d6a0c8360c4684e3375ce6c4576214acdd71b/Formula/libomp.rb > $(find $(brew --repository) -name libomp.rb) && brew reinstall libomp | |
| - name: Setup pyenv | |
| env: | |
| ACTIONS_ALLOW_UNSECURE_COMMANDS: true | |
| MACOSX_DEPLOYMENT_TARGET: 11.0 | |
| PYTHON_CONFIGURE_OPTS: "--enable-framework" | |
| CFLAGS: "-Wno-implicit-function-declaration" | |
| LDFLAGS: "-L/usr/local/opt/zlib/lib" | |
| CPPFLAGS: "-I/usr/local/opt/zlib/include" | |
| PKG_CONFIG_PATH: "/usr/local/opt/zlib/lib/pkgconfig" | |
| uses: "gabrielfalcao/pyenv-action@v18" | |
| with: | |
| default: 3.8.18 | |
| - name: Install pip dependencies | |
| run: | | |
| pip3 install --upgrade pip | |
| pip3 install twine wheel==0.37.1 | |
| - name: Debug | |
| run: | | |
| echo "$(dirname $(pyenv which python))" | |
| echo $(ls "$(dirname $(pyenv which python))/../include/") | |
| - name: Configure CMake | |
| run: | | |
| cmake -B ${{github.workspace}}/build \ | |
| -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}\ | |
| -DCMAKE_OSX_ARCHITECTURES:STRING="arm64" \ | |
| -DFAST_MODULE_OpenVINO=OFF \ | |
| -DFAST_MODULE_Dicom=ON \ | |
| -DFAST_MODULE_WholeSlideImaging=ON \ | |
| -DFAST_MODULE_OpenIGTLink=ON \ | |
| -DFAST_MODULE_Clarius=OFF \ | |
| -DFAST_MODULE_TensorFlow=OFF \ | |
| -DFAST_MODULE_HDF5=ON \ | |
| -DFAST_MODULE_Plotting=ON \ | |
| -DFAST_MODULE_Python=ON \ | |
| -DFAST_Python_Version="3.8" \ | |
| -DFAST_Python_Include="$(dirname $(pyenv which python))/../include/python3.8/" \ | |
| -DFAST_Python_Library="$(dirname $(pyenv which python))/../lib/libpython3.8.dylib" \ | |
| -DFAST_MODULE_RealSense=OFF \ | |
| -DFAST_BUILD_EXAMPLES=ON | |
| - name: Build | |
| run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 | |
| - name: Build Python wheel | |
| env: | |
| MACOSX_DEPLOYMENT_TARGET: 11.0 | |
| run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target python-wheel -j 4 | |
| - name: Package | |
| run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target package -j 4 | |
| - name: Upload archive package | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Archive package (tar.xz) | |
| path: ${{github.workspace}}/build/fast_*.tar.xz | |
| if-no-files-found: error | |
| - name: Upload Python wheel | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: Python wheel | |
| path: ${{github.workspace}}/build/python/dist/pyfast-*.whl | |
| if-no-files-found: error | |
| - name: Upload archive package to release | |
| if: ${{ github.event_name == 'release' }} | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ${{github.workspace}}/build/fast_*.tar.xz | |
| file_glob: true | |
| tag: ${{ github.ref }} | |
| overwrite: true | |
| - name: Upload Python wheel to release | |
| if: ${{ github.event_name == 'release' }} | |
| uses: svenstaro/upload-release-action@v2 | |
| with: | |
| repo_token: ${{ secrets.GITHUB_TOKEN }} | |
| file: ${{github.workspace}}/build/python/dist/pyfast-*.whl | |
| file_glob: true | |
| tag: ${{ github.ref }} | |
| overwrite: true | |
| - name: Upload Python wheel to PyPi | |
| if: ${{ github.event_name == 'release' && !contains(github.ref, 'rc') }} | |
| run: | | |
| twine upload --username __token__ --password ${{ secrets.PYPI_API_TOKEN }} ${{github.workspace}}/build/python/dist/pyfast-*.whl | |
| test-python-wheel: | |
| name: Test Python Wheel | |
| needs: [build] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ['3.8', '3.10', '3.12'] | |
| runs-on: macos-14 | |
| steps: | |
| - name: Install dependencies | |
| run: | | |
| brew reinstall zlib | |
| brew install openslide pcre libomp | |
| # OpenCL on apple silicon only supports GPU which | |
| # the GitHub nodes don't have, thus we install pocl | |
| # which supports CPUs | |
| brew install pocl | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Display Python version | |
| run: python -c "import sys; print(sys.version)" | |
| - name: Download wheel artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: 'Python wheel' | |
| path: ${{github.workspace}}/download/ | |
| - name: Create virtual environment and install wheel | |
| run: | | |
| cd ${{github.workspace}} | |
| python -m venv venv # Get error if not using virtual environment for some reason | |
| source venv/bin/activate | |
| python -m pip install --prefer-binary ${{github.workspace}}/download/pyfast-*.whl | |
| - name: Import FAST with Python | |
| run: | | |
| cd ${{github.workspace}} | |
| source venv/bin/activate | |
| # This will fail because there are no OpenCL plaforms available, thus we add || true | |
| python -c "import fast" || true | |
| # test-cpp: | |
| # name: Run C++ Tests | |
| # needs: [build] | |
| # runs-on: [self-hosted, macos] | |
| # steps: | |
| # - name: Download artifacts | |
| # uses: actions/download-artifact@v3 | |
| # with: | |
| # name: 'Archive package (tar.xz)' | |
| # path: ${{github.workspace}}/download/ | |
| # - name: Extract artifact | |
| # run: | | |
| # mkdir -p ${{github.workspace}}/download/ | |
| # cd ${{github.workspace}}/download/ | |
| # tar -xf fast_*.tar.xz -C ${{github.workspace}} | |
| # - name: Download test data | |
| # run: | | |
| # cd ${{github.workspace}} | |
| # cd fast* | |
| # cd fast/bin/ | |
| # ./downloadTestData | |
| # - name: Run tests | |
| # run: | | |
| # cd ${{github.workspace}} | |
| # cd fast_* | |
| # cd fast/bin/ | |
| # ./testFAST ~[visual]~[unstablemac] | |
| # - name: Cleanup | |
| # if: always() | |
| # run: | | |
| # rm -Rf ${{github.workspace}} | |
| # rm -Rf $HOME/FAST/kernel_binaries/* | |
| # | |
| # test-python: | |
| # name: Run Python Tests | |
| # needs: [build] | |
| # runs-on: [self-hosted, macos] | |
| # steps: | |
| # - uses: actions/checkout@v2 | |
| # - name: Download artifacts | |
| # uses: actions/download-artifact@v3 | |
| # with: | |
| # name: 'Python wheel' | |
| # path: ${{github.workspace}}/download/ | |
| # - name: Create environment and install python packages | |
| # run: | | |
| # cd ${{github.workspace}} | |
| # mkdir tmp | |
| # cd tmp | |
| # virtualenv -p python3 venv | |
| # source venv/bin/activate | |
| # pip3 install pytest | |
| # pip3 install ${{github.workspace}}/download/pyfast-*.whl | |
| # - name: Run tests | |
| # run: | | |
| # cd ${{github.workspace}}/tmp/ | |
| # source venv/bin/activate | |
| # pytest ../source/FAST/ | |
| # - name: Cleanup | |
| # if: always() | |
| # run: | | |
| # rm -Rf ${{github.workspace}}/download/ | |
| # rm -Rf ${{github.workspace}}/tmp/ | |
| # rm -Rf $HOME/FAST/kernel_binaries/* |