diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml new file mode 100644 index 0000000..a9a0f3c --- /dev/null +++ b/.github/workflows/tests.yaml @@ -0,0 +1,59 @@ +name: "CI" +on: + # on PR to main + pull_request: + branches: + - main + # on push to main + push: + branches: + - main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + + defaults: + run: + shell: bash -l {0} + +jobs: + tests: + runs-on: ${{ matrix.os }} + name: "${{ matrix.os }} python-${{ matrix.python-version }}" + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + python-version: + - 3.10 + - 3.11 + - 3.12 + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup micromamba + uses: mamba-org/setup-micromamba@v2 + with: + environment-name: stratocaster-test + init-shell: bash + cache-environment: true + # Since gufe the single dependency, install it without env file + create-args: >- + python=${{ matrix.python-version }} + gufe + + - name: Install stratocaster + # install test dependencies + run: python -m pip install -e ".[test]" + + - name: Environment information + run: | + micromamba info + micromamba list + + - name: Run tests + run: | + pytest -v src/stratocaster/tests/