# This workflow is used to run the unittest of pyiron

name: Unittests-mpich

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build:

    runs-on: ${{ matrix.operating-system }}
    strategy:
      matrix:
        include:
        - operating-system: macos-latest
          python-version: '3.11'
          label: osx-64-py-3-11-mpich
          prefix: /Users/runner/miniconda3/envs/my-env

        - operating-system: ubuntu-latest
          python-version: '3.11'
          label: linux-64-py-3-11-mpich
          prefix: /usr/share/miniconda3/envs/my-env

        - operating-system: ubuntu-latest
          python-version: '3.10'
          label: linux-64-py-3-10-mpich
          prefix: /usr/share/miniconda3/envs/my-env

        - operating-system: ubuntu-latest
          python-version: 3.9
          label: linux-64-py-3-9-mpich
          prefix: /usr/share/miniconda3/envs/my-env

        - operating-system: ubuntu-latest
          python-version: 3.8
          label: linux-64-py-3-8-mpich
          prefix: /usr/share/miniconda3/envs/my-env

    steps:
    - uses: actions/checkout@v2
    - uses: conda-incubator/setup-miniconda@v2.2.0
      with:
        python-version: ${{ matrix.python-version }}
        mamba-version: "*"
        channels: conda-forge
        miniforge-variant: Mambaforge
        channel-priority: strict
        auto-update-conda: true
        environment-file: .ci_support/environment-mpich.yml
    - name: Test
      shell: bash -l {0}
      timeout-minutes: 5
      run: |
        pip install versioneer[toml]==0.29
        pip install . --no-deps --no-build-isolation
        cd tests
        python -m unittest discover .