Skip to content

Isolate EXTERNALLY-MANAGED logic better and improve build-time dependency constraints #113

Isolate EXTERNALLY-MANAGED logic better and improve build-time dependency constraints

Isolate EXTERNALLY-MANAGED logic better and improve build-time dependency constraints #113

Workflow file for this run

name: Test
on:
push:
branches:
- main
tags:
- "*"
pull_request:
paths:
- ".github/workflows/test.yml"
- "conda_pypi/**"
- "tests/**"
- "pyproject.toml"
- "pixi.toml"
concurrency:
# Concurrency group that uses the workflow name and PR number if available
# or commit SHA as a fallback. If a new build is triggered under that
# concurrency group while a previous build is running it will be canceled.
# Repeated pushes to a PR will cancel all previous builds, while multiple
# merges to main will not cancel.
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
tests:
name: ${{ matrix.os }}, py${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["38", "39", "310", "311"]
include:
- os: macos-13
python-version: "310"
- os: macos-14
python-version: "311"
env:
PIXI_ENV_NAME: test-py${{ matrix.python-version }}
steps:
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- uses: prefix-dev/setup-pixi@ba3bb36eb2066252b2363392b7739741bb777659 # v0.8.1
with:
environments: ${{ env.PIXI_ENV_NAME }}
- name: Setup project
run: |
pixi run --environment ${{ env.PIXI_ENV_NAME }} dev
echo "channels: [conda-forge]" > .pixi/envs/${{ env.PIXI_ENV_NAME }}/.condarc
pixi run --environment ${{ env.PIXI_ENV_NAME }} conda info
- name: Run tests
run: pixi run --environment ${{ env.PIXI_ENV_NAME }} test --basetemp=${{ runner.os == 'Windows' && 'D:\\temp' || runner.temp }}
- name: Build recipe (${{ env.PIXI_ENV_NAME }})
if: matrix.python-version == '3.10'
run: pixi run build