https://github.com/RadioAstronomySoftwareGroup/pyuvdata
Raw File
Tip revision: 7d3804fe8cf404221981b483d0bdc7503c969e37 authored by Matthew Kolopanis on 29 March 2024, 20:07:46 UTC
update min versions tests
Tip revision: 7d3804f
macosx_windows_ci.yaml
name: Run Tests

on:
  push:
    # This should disable running the workflow on tags, according to the
    # on.<push|pull_request>.<branches|tags> GitHub Actions docs.
    branches:
      - "*"
  pull_request:

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

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.10", "3.11", "3.12"]
    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@v3
        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 }}
          run-post: false

      - 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 ..

      - uses: codecov/codecov-action@v4
        if: success()
        with:
          token: ${{secrets.CODECOV_TOKEN}} #required
          file: ./coverage.xml #optional
back to top