Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix mac tests with conda #4946

Merged
merged 6 commits into from
Nov 22, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 37 additions & 7 deletions .github/workflows/mac-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,46 @@ jobs:
max-parallel: 4
matrix:
os: [macos-latest]
python-version: ['3.10', '3.11', '3.12']
python-version:
- '3.10'
- '3.11'
- '3.12'

# this is needed for conda environments to activate automatically
defaults:
run:
shell: bash -el {0}

steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5

- name: Cache conda packages
uses: actions/cache@v4
env:
# increment to reset cache
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ matrix.python-version}}-${{ env.CACHE_NUMBER }}

- name: Configure conda
uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: test
channels: conda-forge
miniforge-version: latest
python-version: ${{ matrix.python-version }}
- run: |
brew install fftw openssl gsl
pip install --upgrade pip setuptools "tox<4.0.0"
- name: run basic pycbc test suite

- name: Conda info
run: conda info --all

- name: Install tox
run: |
conda install \
pip \
setuptools \
"tox<4.0.0"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this restriction understood?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The reason was discussed here #4208 ... It may no longer apply.


- name: Run basic pycbc test suite
run: |
tox -e py-unittest
8 changes: 4 additions & 4 deletions test/validation_code/old_coinc.py
Original file line number Diff line number Diff line change
Expand Up @@ -361,8 +361,8 @@ def cluster_coincs(stat, time1, time2, timeslide_id, slide, window, argmax=numpy
else:
time = 0.5 * (time2 + time1)

tslide = timeslide_id.astype(numpy.float128)
time = time.astype(numpy.float128)
tslide = timeslide_id.astype(numpy.longdouble)
time = time.astype(numpy.longdouble)

span = (time.max() - time.min()) + window * 10
time = time + span * tslide
Expand Down Expand Up @@ -411,8 +411,8 @@ def cluster_coincs_multiifo(stat, time_coincs, timeslide_id, slide, window, argm
nifos_minusone = (num_ifos - numpy.ones_like(num_ifos))
time_avg = time_avg + (nifos_minusone * timeslide_id * slide)/num_ifos

tslide = timeslide_id.astype(numpy.float128)
time_avg = time_avg.astype(numpy.float128)
tslide = timeslide_id.astype(numpy.longdouble)
time_avg = time_avg.astype(numpy.longdouble)

span = (time_avg.max() - time_avg.min()) + window * 10
time_avg = time_avg + span * tslide
Expand Down
56 changes: 28 additions & 28 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ deps =
mkl;'arm' not in platform_machine

[testenv]
allowlist_externals = bash
allowlist_externals =
bash
conda
passenv=LAL_DATA_PATH
conda_deps=openssl
conda_channels=conda-forge
Expand All @@ -28,20 +30,20 @@ deps =
; Needed for `BBHx` package to work with PyCBC
git+https://github.com/titodalcanton/BBHx.git@py39-and-cleanup; sys_platform == 'linux'
git+https://github.com/gwastro/BBHX-waveform-model.git; sys_platform == 'linux'
conda_deps=
mysqlclient
lin: gcc_linux-64>=12.2.0
lin: gxx_linux-64>=12.2.0
; mac doesn't work, need fix
; mac: clang_osx-64
; mac: clangxx_osx-64
conda_deps =
c-compiler
cxx-compiler
gsl
lapack==3.6.1
conda_channels=conda-forge
setenv =
; Tell the linker to look for shared libs inside the temporary Conda env.
; Needed to build BBHx's wheel, whick links to LAPACK.
LIBRARY_PATH={envdir}/lib:{env:LIBRARY_PATH:}
mysqlclient
; these packages don't install cleanly with pip, conda has patches
ligo-segments
python-ligo-lw
; for BBHx
liblapacke
openblas
conda_channels = conda-forge
commands_pre =
conda list
commands = pytest

# The following are long running or may require
Expand Down Expand Up @@ -73,21 +75,19 @@ deps =
; Needed for `BBHx` package to work with PyCBC
git+https://github.com/titodalcanton/BBHx.git@py39-and-cleanup; sys_platform == 'linux'
git+https://github.com/gwastro/BBHX-waveform-model.git; sys_platform == 'linux'
conda_deps=
conda_deps =
c-compiler
cxx-compiler
mysqlclient
lin: gcc_linux-64>=12.2.0
lin: gxx_linux-64>=12.2.0
; mac doesn't work, need fix
; mac: clang_osx-64
; mac: clangxx_osx-64
binutils_linux-64>=2.39
gsl
lapack==3.6.1
openmpi
conda_channels=conda-forge
; these packages don't install cleanly with pip, conda has patches
ligo-segments
python-ligo-lw
; for BBHx
liblapacke
openblas
conda_channels = conda-forge
setenv =
PYCBC_TEST_TYPE=docs
; Tell the linker to look for shared libs inside the temporary Conda env.
; Needed to build BBHx's wheel, whick links to LAPACK.
LIBRARY_PATH={envdir}/lib:{env:LIBRARY_PATH:}
commands_pre =
conda list
commands = bash tools/pycbc_test_suite.sh
Loading