From 188b7a0015444e534c3ccefc07158aed2319b84b Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Wed, 25 Oct 2023 23:58:39 -0500 Subject: [PATCH] ci: Add simplified CI for Windows (#2363) * Add simplfied CI workflow for Windows. - Runs on nighly schedule and with workflow dispatch. * Add operating system PyPI trove classifier as support is added for Windows. --- .github/workflows/ci-windows.yml | 46 ++++++++++++++++++++++++++++++++ pyproject.toml | 1 + 2 files changed, 47 insertions(+) create mode 100644 .github/workflows/ci-windows.yml diff --git a/.github/workflows/ci-windows.yml b/.github/workflows/ci-windows.yml new file mode 100644 index 0000000000..2aab9607f3 --- /dev/null +++ b/.github/workflows/ci-windows.yml @@ -0,0 +1,46 @@ +name: CI on Windows + +on: + # Run daily at 1:23 UTC + schedule: + - cron: '23 1 * * *' + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [windows-latest] + python-version: ['3.9', '3.10', '3.11'] + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip setuptools wheel + python -m pip install --upgrade '.[test]' + + - name: List installed Python packages + run: python -m pip list + + - name: Test with pytest and coverage + # FIXME: ignore tests/test_scripts.py as runner breaks on Windows currently + run: | + coverage run --module pytest --ignore tests/test_scripts.py --ignore tests/contrib --ignore tests/benchmarks --ignore tests/test_notebooks.py + + - name: Coverage report for core project + run: | + coverage report + coverage xml diff --git a/pyproject.toml b/pyproject.toml index 1e50c697ce..fcbdeff0bc 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -32,6 +32,7 @@ classifiers = [ "Environment :: WebAssembly :: Emscripten", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", + "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.8",