Skip to content

Commit

Permalink
Build wheels for x86_64, intel and apple macOS
Browse files Browse the repository at this point in the history
Focus testing mostly on python 3.8, 3.11, 3.12

See table overview;
equinor#7204 (comment)

Brew hdf5 when macOS
Lift exclusion ubuntu-3.11-gui-tests
  • Loading branch information
andreas-el committed Mar 5, 2024
1 parent 126ac6b commit e38854b
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 19 deletions.
34 changes: 17 additions & 17 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: ['ubuntu-latest', 'macos-13-xl']
os: ['ubuntu-latest', 'macos-13', 'macos-latest-xlarge']

runs-on: ${{ matrix.os }}

Expand Down Expand Up @@ -106,8 +106,13 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: [ '3.10', '3.11', '3.12' ]
os: [ 'macos-13-xl' ]
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
os: [ 'macos-13', 'macos-latest-xlarge' ]
exclude:
- os: 'macos-latest-xlarge'
python-version: '3.8'
- os: 'macos-latest-xlarge'
python-version: '3.9'

uses: ./.github/workflows/build-wheels-macos.yml
with:
Expand All @@ -120,18 +125,8 @@ jobs:
fail-fast: false
matrix:
test-type: [ 'integration-tests', 'unit-tests', 'gui-test' ]
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
python-version: [ '3.8', '3.11', '3.12' ]
os: [ ubuntu-latest ]
exclude:
- os: ubuntu-latest
python-version: '3.9'
test-type: 'gui-test'
- os: ubuntu-latest
python-version: '3.10'
test-type: 'gui-test'
- os: ubuntu-latest
python-version: '3.11'
test-type: 'gui-test'
uses: ./.github/workflows/test_ert.yml
with:
os: ${{ matrix.os }}
Expand All @@ -144,7 +139,7 @@ jobs:
fail-fast: false
matrix:
os: [ ubuntu-latest ]
python-version: [ '3.8', '3.9', '3.10', '3.11', '3.12' ]
python-version: [ '3.8', '3.11', '3.12' ]
uses: ./.github/workflows/test_ert_with_slurm.yml
with:
os: ${{ matrix.os }}
Expand All @@ -156,8 +151,13 @@ jobs:
fail-fast: false
matrix:
test-type: [ 'integration-tests', 'unit-tests', 'gui-test' ]
python-version: [ '3.10', '3.11', '3.12' ]
os: [ 'macos-13-xl' ]
python-version: [ '3.8', '3.10', '3.11', '3.12' ]
os: [ 'macos-13', 'macos-latest-xlarge' ]
exclude:
- os: 'macos-13'
python-version: '3.10'
- os: 'macos-latest-xlarge'
python-version: '3.8'
uses: ./.github/workflows/test_ert.yml
with:
os: ${{ matrix.os }}
Expand Down
21 changes: 19 additions & 2 deletions .github/workflows/run_ert_test_data_setups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,14 @@ jobs:
fail-fast: false
matrix:
python-version: ['3.8', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-13-xl]
os: [ubuntu-latest, macos-13, macos-latest-xlarge]
exclude:
- python-version: '3.10'
os: ubuntu-latest
- python-version: '3.10'
os: macos-13
- python-version: '3.8'
os: macos-13-xl
os: macos-latest-xlarge

runs-on: ${{ matrix.os }}

Expand All @@ -43,21 +47,34 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install xvfb libxcb-image0 libxcb-icccm4 libxcb-keysyms1 libxcb-randr0 libxcb-render0 libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-xfixes0 libxcb-xinerama0 libfontconfig1 libxcb-xkb1 libxkbcommon-x11-0 libdbus-1-3
- name: Set up Homebrew
if: matrix.os == 'macos-latest-xlarge'
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master

- name: Install HDF5 source files
if: matrix.os == 'macos-latest-xlarge'
run: brew install hdf5

- name: Install ERT and dependencies
run: |
pip install .
- name: Test poly example
run: |
pushd test-data/poly_example
ert test_run poly.ert
ert test_run --enable-scheduler poly.ert
popd
- name: Test snake_oil
run: |
pushd test-data/snake_oil
pip install oil_reservoir_synthesizer
ert test_run snake_oil.ert
popd
- name: Test snake_oil_field
run: |
pushd test-data/snake_oil_field
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/test_ert.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,15 @@ jobs:
cache-dependency-path: |
pyproject.toml
- name: Set up Homebrew
if: runner.os == 'macOS'
id: set-up-homebrew
uses: Homebrew/actions/setup-homebrew@master

- name: Install HDF5 source files
if: runner.os == 'macOS'
run: brew install hdf5

- name: Get wheels
uses: actions/download-artifact@v3
timeout-minutes: 5
Expand Down

0 comments on commit e38854b

Please sign in to comment.