Is it possible to improve --error-on-missing-interpreters with "principle of least surprise" in mind? We don't want onerous failures during local dev, but the two changes are proposed:
- Mention the
--error-on-missing-interpreters flag in the error / warning / success message if an interpreter was skipped
- Change
--error-on-missing-interpreters to default ON (instead of OFF) if we've detected the code is in CI (CI=true) or in an automated environment (sys.stdout.isatty()==False)
Original Content (Original title: Test suite skipped with error "Python interpreter 3.8 not found.)
Describe the bug
The desired Python version was not available, the test suite is skipped entirely.
2020-08-21T17:46:46.1946078Z ##[group]Run nox
2020-08-21T17:46:46.1946291Z �[36;1mnox�[0m
2020-08-21T17:46:46.1990422Z shell: /bin/bash -e {0}
2020-08-21T17:46:46.1990565Z env:
2020-08-21T17:46:46.1990705Z pythonLocation: /opt/hostedtoolcache/Python/3.7.8/x64
2020-08-21T17:46:46.1990822Z ##[endgroup]
2020-08-21T17:46:46.2954365Z Running session tests-3.8
2020-08-21T17:46:46.3002157Z Session tests-3.8 skipped: Python interpreter 3.8 not found.

How to reproduce
import nox
@nox.session(python=["3.7"])
def tests(session):
"""Run pytest suite"""
session.create_tmp()
session.install("-r", "requirements-test.txt")
tests = session.posargs or ["tests/"]
session.run("pytest", *tests)
# TODO: add lint, type checking, etc.
$ cat .github/workflows/data_prep_tools_test.yml
# This workflow will install Python dependencies, run tests.
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: test
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
defaults:
run:
working-directory: tools
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install nox
- name: Test with nox
run: |
nox
Expected behavior
non-zero exit code
Is it possible to improve
--error-on-missing-interpreterswith "principle of least surprise" in mind? We don't want onerous failures during local dev, but the two changes are proposed:--error-on-missing-interpretersflag in the error / warning / success message if an interpreter was skipped--error-on-missing-interpretersto default ON (instead of OFF) if we've detected the code is in CI (CI=true) or in an automated environment (sys.stdout.isatty()==False)Original Content (Original title: Test suite skipped with error "Python interpreter 3.8 not found.)
Describe the bug
The desired Python version was not available, the test suite is skipped entirely.
How to reproduce
Expected behavior
non-zero exit code