d9b945f663
As detailed in https://bugs.python.org/issue33725, starting new processes with 'fork' on Mac OS is not guaranteed to work in general. As of Python 3.8 the default process spawning mechanism was changed to avoid this issue. Spack depends on the fork-based method to preserve file descriptors transparently, to preserve global state, and to avoid pickling some objects. An effort is underway to remove dependence on fork-based process spawning (see #18205). In the meantime, this allows Spack to run with Python 3.8 on Mac OS by explicitly choosing to use 'fork'. Co-authored-by: Peter Josef Scheibel <scheibel1@llnl.gov> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
79 lines
2.2 KiB
YAML
79 lines
2.2 KiB
YAML
# These are nightly package tests for macOS
|
|
# focus areas:
|
|
# - initial user experience
|
|
# - scientific python stack
|
|
name: macOS builds nightly
|
|
|
|
on:
|
|
schedule:
|
|
# nightly at 1 AM
|
|
- cron: '0 1 * * *'
|
|
pull_request:
|
|
branches:
|
|
- develop
|
|
paths:
|
|
# Run if we modify this yaml file
|
|
- '.github/workflows/macos_python.yml'
|
|
# TODO: run if we touch any of the recipes involved in this
|
|
|
|
# GitHub Action Limits
|
|
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
|
|
|
|
jobs:
|
|
install_gcc:
|
|
name: gcc with clang
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: spack install
|
|
run: |
|
|
. .github/workflows/install_spack.sh
|
|
# 9.2.0 is the latest version on which we apply homebrew patch
|
|
spack install -v --fail-fast gcc@9.2.0 %apple-clang
|
|
|
|
install_jupyter_clang:
|
|
name: jupyter
|
|
runs-on: macos-latest
|
|
timeout-minutes: 700
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: spack install
|
|
run: |
|
|
. .github/workflows/install_spack.sh
|
|
spack config add packages:opengl:paths:opengl@4.1:/usr/X11R6
|
|
spack install -v --fail-fast py-jupyter %apple-clang
|
|
|
|
install_scipy_clang:
|
|
name: scipy, mpl, pd
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: spack install
|
|
run: |
|
|
. .github/workflows/install_spack.sh
|
|
spack install -v --fail-fast py-scipy %apple-clang
|
|
spack install -v --fail-fast py-matplotlib %apple-clang
|
|
spack install -v --fail-fast py-pandas %apple-clang
|
|
|
|
install_mpi4py_clang:
|
|
name: mpi4py, petsc4py
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: 3.8
|
|
- name: spack install
|
|
run: |
|
|
. .github/workflows/install_spack.sh
|
|
spack install -v --fail-fast py-mpi4py %apple-clang
|
|
spack install -v --fail-fast py-petsc4py %apple-clang
|