# This file is managed by 'repo_helper'. Don't edit it directly.
---
name: Conda Tests

on:
  push:
    branches: ["master"]

permissions:
  contents: read

jobs:
  tests:
    name: "Conda"
    runs-on: ubuntu-22.04
    defaults:
      run:
        shell: bash -l {0}

    steps:
      - name: Checkout 🛎️
        uses: "actions/checkout@v4"

      - name: Setup Python 🐍
        uses: "actions/setup-python@v5"
        with:
          python-version: "3.11"

      - name: Setup Conda
        uses: conda-incubator/setup-miniconda@v2.1.1
        with:
          activate-environment: env
          conda-build-version: 3.28.4
          miniconda-version: py311_24.1.2-0
          python-version: "3.11"
          miniforge-variant: Mambaforge

      - name: Install dependencies 🔧
        run: |
          python -VV
          python -m site
          python -m pip install --upgrade pip setuptools wheel
          python -m pip install --upgrade "whey-conda" "flit-core<4,>=3.2"
          # $CONDA is an environment variable pointing to the root of the miniconda directory
          $CONDA/bin/conda update -n base conda
          $CONDA/bin/conda config --add channels conda-forge
          $CONDA/bin/conda config --add channels domdfcoding

      - name: "Build and index channel"
        run: |
          python -m whey --builder whey_conda --out-dir conda-bld/noarch
          $CONDA/bin/conda index ./conda-bld || exit 1

      - name: "Search for package"
        run: |
          $CONDA/bin/conda search -c file://$(pwd)/conda-bld dom_toml
          $CONDA/bin/conda search -c file://$(pwd)/conda-bld --override-channels dom_toml

      - name: "Install package"
        run: |
          $CONDA/bin/conda install -c file://$(pwd)/conda-bld dom_toml=2.0.1=py_1 -y || exit 1

      - name: "Run Tests"
        run: |
          rm -rf dom_toml
          $CONDA/bin/conda install pytest coincidence || exit 1
          pip install -r tests/requirements.txt
          pytest tests/
