[BUG-68] Install fortran compiler on macos runners #99
Workflow file for this run
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 Testing" | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
schedule: | |
- cron: "20 1 * * mon" | |
workflow_dispatch: | |
workflow_call: | |
defaults: | |
run: | |
shell: bash -l {0} # Login shell for conda | |
jobs: | |
unit_tests: | |
name: "Build unit testing on ${{ matrix.os }}" | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
steps: | |
- name: "Check out the repo" | |
uses: "actions/checkout@v4" | |
- name: "Set up Python" | |
uses: "actions/setup-python@v5" | |
with: | |
python-version: | | |
3.10 | |
3.11 | |
3.12 | |
- name: "Install dependencies" | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install nox poetry | |
- name: "Unit tests" | |
run: nox -s build_tests_unit -x -- -vv | |
documentation_tests: | |
name: "Build documentation testing on ${{ matrix.os }}" | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
- macos-latest | |
steps: | |
- name: "Check out the repo" | |
uses: "actions/checkout@v4" | |
- name: "Set up Python" | |
uses: "actions/setup-python@v5" | |
with: | |
python-version: | | |
3.10 | |
3.11 | |
3.12 | |
- name: "Install dependencies" | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install nox poetry | |
- name: "Get public IP address of runner" | |
# Need to handle this for Windows, MacOS, and linux | |
# Fetch from ipinfo.io/ip and echo it | |
run: | | |
if [[ "$RUNNER_OS" == "Windows" ]]; then | |
echo "Windows runner IP: $(curl -s https://ipinfo.io/ip)" | |
elif [[ "$RUNNER_OS" == "macOS" ]]; then | |
echo "macOS runner IP: $(curl -s https://ipinfo.io/ip)" | |
else | |
echo "Linux runner IP: $(curl -s https://ipinfo.io/ip)" | |
fi | |
- name: "Run nox" | |
run: | | |
# Unit tests | |
python -m nox -s build_tests_scripts --verbose -x -- -vv | |
integration_tests: | |
name: "Build integration testing on ${{ matrix.os }}" | |
runs-on: "${{ matrix.os }}" | |
strategy: | |
fail-fast: false | |
matrix: | |
os: | |
- ubuntu-latest | |
# TODO(teald): - macos-latest | Issue #39 | |
python-version: | |
- "3.10" | |
steps: | |
- uses: "actions/checkout@v4" | |
- uses: excitedleigh/[email protected] | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install and update pip" | |
run: | | |
conda install -c conda-forge pip | |
pip install --upgrade pip poetry | |
- name: "Integration tests" | |
run: nox -s build_tests_integration -x -- -vv |