forked from pybamm-team/PyBaMM
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request pybamm-team#3501 from agriyakhetarpal/fix-macos-gf…
…ortran-issue Fix `pipx` + `nox` + `pip` dependency resolution bug in macOS workflows
- Loading branch information
Showing
3 changed files
with
48 additions
and
72 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,62 +66,54 @@ jobs: | |
sudo apt install gfortran gcc libopenblas-dev graphviz pandoc | ||
sudo apt install texlive-full | ||
# Added fixes to homebrew installs: | ||
# rm -f /usr/local/bin/2to3 | ||
# (see https://github.com/actions/virtual-environments/issues/2322) | ||
- name: Install MacOS system dependencies | ||
- name: Install macOS system dependencies | ||
if: matrix.os == 'macos-latest' | ||
run: | | ||
rm -f /usr/local/bin/2to3* | ||
rm -f /usr/local/bin/idle3* | ||
rm -f /usr/local/bin/pydoc3* | ||
rm -f /usr/local/bin/python3* | ||
brew update | ||
brew install graphviz | ||
brew install openblas | ||
run: | ||
brew install graphviz openblas | ||
brew reinstall gcc | ||
|
||
- name: Install Windows system dependencies | ||
if: matrix.os == 'windows-latest' | ||
run: choco install graphviz --version=2.38.0.20190211 | ||
|
||
- name: Install standard Python dependencies | ||
run: | | ||
python -m pip install --upgrade pip wheel setuptools | ||
python -m pip install --upgrade pip wheel setuptools nox | ||
- name: Install SuiteSparse and SUNDIALS on GNU/Linux | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s pybamm-requires | ||
run: python -m nox -s pybamm-requires | ||
|
||
- name: Run unit tests for GNU/Linux with Python 3.8, 3.9, and 3.10, and for macOS and Windows with all Python versions | ||
if: (matrix.os == 'ubuntu-latest' && matrix.python-version != 3.11) || (matrix.os != 'ubuntu-latest') | ||
run: pipx run nox -s unit | ||
run: python -m nox -s unit | ||
|
||
- name: Run unit tests for GNU/Linux with Python 3.11 and generate coverage report | ||
if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.11 | ||
run: pipx run nox -s coverage | ||
run: python -m nox -s coverage | ||
|
||
- name: Upload coverage report | ||
if: matrix.os == 'ubuntu-latest' && matrix.python-version == 3.11 | ||
uses: codecov/[email protected] | ||
|
||
- name: Run integration tests | ||
run: pipx run nox -s integration | ||
run: python -m nox -s integration | ||
|
||
- name: Install docs dependencies and run doctests | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s doctests | ||
run: python -m nox -s doctests | ||
|
||
- name: Check if the documentation can be built | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s docs | ||
run: python -m nox -s docs | ||
|
||
- name: Install dev dependencies and run example tests | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s examples | ||
run: python -m nox -s examples | ||
|
||
- name: Run example scripts tests | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s scripts | ||
run: python -m nox -s scripts | ||
|
||
#M-series Mac Mini | ||
build-apple-mseries: | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -75,7 +75,6 @@ jobs: | |
NONINTERACTIVE: 1 | ||
run: | | ||
brew analytics off | ||
brew update | ||
brew install graphviz openblas | ||
- name: Install Windows system dependencies | ||
|
@@ -90,10 +89,9 @@ jobs: | |
cache: 'pip' | ||
cache-dependency-path: setup.py | ||
|
||
- name: Install PyBaMM dependencies | ||
- name: Install standard Python dependencies | ||
run: | | ||
pip install --upgrade pip wheel setuptools | ||
pip install -e .[all,docs] | ||
pip install --upgrade pip wheel setuptools nox | ||
- name: Cache pybamm-requires nox environment for GNU/Linux | ||
uses: actions/cache@v3 | ||
|
@@ -111,10 +109,10 @@ jobs: | |
|
||
- name: Install SuiteSparse and SUNDIALS on GNU/Linux | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s pybamm-requires | ||
run: python -m nox -s pybamm-requires | ||
|
||
- name: Run unit tests for ${{ matrix.os }} with Python ${{ matrix.python-version }} | ||
run: pipx run nox -s unit | ||
run: python -m nox -s unit | ||
|
||
# Runs only on Ubuntu with Python 3.11 | ||
check_coverage: | ||
|
@@ -150,10 +148,9 @@ jobs: | |
cache: 'pip' | ||
cache-dependency-path: setup.py | ||
|
||
- name: Install PyBaMM dependencies | ||
- name: Install standard Python dependencies | ||
run: | | ||
pip install --upgrade pip wheel setuptools nox | ||
pip install -e .[all,docs] | ||
- name: Cache pybamm-requires nox environment for GNU/Linux | ||
uses: actions/cache@v3 | ||
|
@@ -169,10 +166,10 @@ jobs: | |
key: nox-pybamm-requires-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/install_KLU_Sundials.py') }} | ||
|
||
- name: Install SuiteSparse and SUNDIALS on GNU/Linux | ||
run: pipx run nox -s pybamm-requires | ||
run: python -m nox -s pybamm-requires | ||
|
||
- name: Run unit tests for Ubuntu with Python 3.11 and generate coverage report | ||
run: pipx run nox -s coverage | ||
run: python -m nox -s coverage | ||
|
||
- name: Upload coverage report | ||
uses: codecov/[email protected] | ||
|
@@ -218,7 +215,6 @@ jobs: | |
NONINTERACTIVE: 1 | ||
run: | | ||
brew analytics off | ||
brew update | ||
brew install graphviz openblas | ||
- name: Install Windows system dependencies | ||
|
@@ -233,10 +229,9 @@ jobs: | |
cache: 'pip' | ||
cache-dependency-path: setup.py | ||
|
||
- name: Install PyBaMM dependencies | ||
- name: Install standard Python dependencies | ||
run: | | ||
pip install --upgrade pip wheel setuptools | ||
pip install -e .[all,docs] | ||
pip install --upgrade pip wheel setuptools nox | ||
- name: Cache pybamm-requires nox environment for GNU/Linux | ||
uses: actions/cache@v3 | ||
|
@@ -254,10 +249,10 @@ jobs: | |
|
||
- name: Install SuiteSparse and SUNDIALS on GNU/Linux | ||
if: matrix.os == 'ubuntu-latest' | ||
run: pipx run nox -s pybamm-requires | ||
run: python -m nox -s pybamm-requires | ||
|
||
- name: Run integration tests for ${{ matrix.os }} with Python ${{ matrix.python-version }} | ||
run: pipx run nox -s integration | ||
run: python -m nox -s integration | ||
|
||
# Runs only on Ubuntu with Python 3.11. Skips IDAKLU module compilation | ||
# for speedups, which is already tested in other jobs. | ||
|
@@ -294,16 +289,15 @@ jobs: | |
cache: 'pip' | ||
cache-dependency-path: setup.py | ||
|
||
- name: Install PyBaMM dependencies | ||
- name: Install standard Python dependencies | ||
run: | | ||
pip install --upgrade pip wheel setuptools | ||
pip install -e .[all,docs] | ||
pip install --upgrade pip wheel setuptools nox | ||
- name: Install docs dependencies and run doctests for GNU/Linux with Python 3.11 | ||
run: pipx run nox -s doctests | ||
run: python -m nox -s doctests | ||
|
||
- name: Check if the documentation can be built for GNU/Linux with Python 3.11 | ||
run: pipx run nox -s docs | ||
run: python -m nox -s docs | ||
|
||
# Runs only on Ubuntu with Python 3.11 | ||
run_example_tests: | ||
|
@@ -339,10 +333,9 @@ jobs: | |
cache: 'pip' | ||
cache-dependency-path: setup.py | ||
|
||
- name: Install PyBaMM dependencies | ||
- name: Install standard Python dependencies | ||
run: | | ||
pip install --upgrade pip wheel setuptools | ||
pip install -e .[all,docs] | ||
pip install --upgrade pip wheel setuptools nox | ||
- name: Cache pybamm-requires nox environment for GNU/Linux | ||
uses: actions/cache@v3 | ||
|
@@ -358,10 +351,10 @@ jobs: | |
key: nox-pybamm-requires-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/install_KLU_Sundials.py') }} | ||
|
||
- name: Install SuiteSparse and SUNDIALS on GNU/Linux | ||
run: pipx run nox -s pybamm-requires | ||
run: python -m nox -s pybamm-requires | ||
|
||
- name: Install dev dependencies and run example tests for GNU/Linux with Python 3.11 | ||
run: pipx run nox -s examples | ||
run: python -m nox -s examples | ||
|
||
# Runs only on Ubuntu with Python 3.11 | ||
run_scripts_tests: | ||
|
@@ -397,10 +390,9 @@ jobs: | |
cache: 'pip' | ||
cache-dependency-path: setup.py | ||
|
||
- name: Install PyBaMM dependencies | ||
- name: Install standard Python dependencies | ||
run: | | ||
pip install --upgrade pip wheel setuptools | ||
pip install -e .[all,docs] | ||
pip install --upgrade pip wheel setuptools nox | ||
- name: Cache pybamm-requires nox environment for GNU/Linux | ||
uses: actions/cache@v3 | ||
|
@@ -416,7 +408,7 @@ jobs: | |
key: nox-pybamm-requires-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('**/install_KLU_Sundials.py') }} | ||
|
||
- name: Install SuiteSparse and SUNDIALS on GNU/Linux | ||
run: pipx run nox -s pybamm-requires | ||
run: python -m nox -s pybamm-requires | ||
|
||
- name: Install dev dependencies and run example scripts tests for GNU/Linux with Python 3.11 | ||
run: pipx run nox -s scripts | ||
run: python -m nox -s scripts |
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