Revision e76516a009ac2c603eb13c0788c69c48f3dea206 authored by Bryna Hazelton on 01 November 2022, 22:24:49 UTC, committed by Bryna Hazelton on 07 November 2022, 17:32:12 UTC
1 parent 62eebb7
Raw File
macosx_windows_ci.yaml
name: Run Tests
on: [push, pull_request]

jobs:
  tests:
    name: Run Tests
    env:
      PYTHON: ${{ matrix.python-version }}
    runs-on: ${{ matrix.os }}
    defaults:
     run:
       # Adding -l {0} helps ensure conda can be found properly in windows.
       shell: bash -l {0}
    strategy:
      fail-fast: false
      matrix:
        os: [macos-latest, windows-latest]
        python-version: [3.8, 3.9, "3.10"]
    steps:
      - uses: actions/checkout@main
        with:
          fetch-depth: 0

      - name: Set ENV NAME
        run: |
          if [[ "${{ runner.os }}" = "Windows" ]]; then
            echo "::set-output name=ENV_NAME::pyuvdata_tests_windows"
          else
            echo "::set-output name=ENV_NAME::pyuvdata_tests"
          fi
        id: env_name

      - name: Setup Minimamba
        uses: conda-incubator/setup-miniconda@v2
        with:
          miniforge-variant: Mambaforge
          miniforge-version: latest
          use-mamba: true
          python-version: ${{ matrix.python-version }}
          environment-file: ci/${{ steps.env_name.outputs.ENV_NAME }}.yml
          activate-environment: ${{ steps.env_name.outputs.ENV_NAME }}

      - name: Conda Info
        run: |
          conda info -a
          conda list
          PYVER=`python -c "import sys; print('{:d}.{:d}'.format(sys.version_info.major, sys.version_info.minor))"`
          if [[ $PYVER != $PYTHON ]]; then
            exit 1;
          fi

      - name: Install
        run: |
          CFLAGS="-DCYTHON_TRACE=1 -DCYTHON_TRACE_NOGIL=1" pip install .

      - name: Run Tests
        run: |
          mkdir -p empty
          cd empty
          pytest --pyargs pyuvdata -n auto --dist=loadfile --cov=pyuvdata --cov-config=../.coveragerc --cov-report xml:../coverage.xml
          cd ..

      - name: Upload Coverage
        if: success()
        run: |
          bash <(curl -s https://codecov.io/bash) -t ${{ secrets.CODECOV_TOKEN }}
back to top