diff --git a/.github/workflows/ci_win.yml b/.github/workflows/ci_win.yml new file mode 100644 index 000000000..71bad4039 --- /dev/null +++ b/.github/workflows/ci_win.yml @@ -0,0 +1,72 @@ +name: CI Windows + +on: [push, pull_request] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: test + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ["windows-latest"] + python-version: ["3.7", "3.10", "pypy-3.8", "pypy-3.9"] + r-version: ['release'] + timeout-minutes: 30 + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + # We need Python 3.7 to always be installed, so tests with + # multiple environments can run. + - name: Set up Python 3.7 + uses: actions/setup-python@v4 + with: + python-version: 3.7 + + - name: Set up Python version ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: pip + cache-dependency-path: pyproject.toml + + # Assuming you need to set up a browser for tests on Windows as well + - name: Setup a browser for more tests + uses: browser-actions/setup-chrome@latest + + - name: Set up R version ${{ matrix.r-version }} + uses: r-lib/actions/setup-r@v2 + with: + r-version: ${{ matrix.r-version }} + + - name: Install dependencies + run: python -m pip install ".[test,hg]" + + - name: Install asv + run: pip install . + + - name: Run tests + run: python -m pytest -v --timeout=300 --webdriver=ChromeHeadless --durations=100 test + + docs: + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + cache: pip + cache-dependency-path: pyproject.toml + + - name: Install asv + run: pip install ".[doc]" + + - name: Build docs + run: sphinx-build -W docs/source html