diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bab01b8..59fd40d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,43 +1,41 @@ -# Based on tutorial: https://autobencoder.com/2020-08-24-conda-actions/ +# https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python -name: Tests -on: - push: - branches: - - main - pull_request: - branches: - - main - -env: - DISPLAY: ":99" - PYDM_DEFAULT_PROTOCOL: ca - BLUESKY_DEBUG_CALLBACKS: 1 +name: Guarneri +on: [push] jobs: - build-linux: - defaults: - run: - shell: bash -l {0} - runs-on: ubuntu-22.04 + build: + runs-on: ubuntu-latest + timeout-minutes: 10 strategy: - max-parallel: 5 + matrix: + python-version: ["pypy3.10", "3.10", "3.11", "3.12", "3.13"] + steps: - - uses: actions/checkout@v3 - - name: Install \{ - run: pip install -e ".[dev]" - - name: Environment info - run: | - env - pip freeze - - name: Lint - run: | - # Check for syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # Make sure black code formatting is applied - black --check --preview src/ - # Make sure import orders are correct - isort --check src/ - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + # You can test your matrix by printing the current Python version + - name: Display Python version + run: python -c "import sys; print(sys.version)" + - name: Install guarneri + run: pip install -e ".[dev]" + - name: Environment info + run: | + env + pip freeze + - name: Lint + run: | + # Check for syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # Make sure black code formatting is applied + black --check --preview src/ + # Make sure import orders are correct + isort --check src/ + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Haven tests with pytest in Xvfb + run: pytest -vv diff --git a/pyproject.toml b/pyproject.toml index 0c05353..ad71461 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,5 +1,5 @@ [build-system] -requires = ["setuptools>=61.0"] +requires = ["setuptools>=61.0", "setuptools-scm>=8.0"] build-backend = "setuptools.build_meta" [project]