Skip to content

Commit 1630b42

Browse files
committed
Add windows test runner4s for all core test suites
1 parent 4073419 commit 1630b42

File tree

3 files changed

+81
-50
lines changed

3 files changed

+81
-50
lines changed

.github/scripts/retry.sh

Lines changed: 0 additions & 42 deletions
This file was deleted.

.github/workflows/tests.yml

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ on:
2727
permissions:
2828
contents: read
2929

30+
# Ensure bash is used on all runners as the default shell
31+
defaults:
32+
run:
33+
shell: bash
34+
3035
concurrency:
3136
group: ${{ github.ref || github.run_id }}-${{ github.workflow }}
3237
cancel-in-progress: true
@@ -1537,3 +1542,69 @@ jobs:
15371542
include-hidden-files: true
15381543
if-no-files-found: error
15391544
retention-days: 1
1545+
1546+
windows:
1547+
env:
1548+
TOTAL_GROUPS: 2
1549+
1550+
strategy:
1551+
fail-fast: false
1552+
matrix:
1553+
group-number: [1, 2]
1554+
1555+
runs-on: windows-2025
1556+
timeout-minutes: 30
1557+
steps:
1558+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1559+
1560+
# git config --global --add safe.directory "$GITHUB_WORKSPACE"
1561+
- name: Fetch git tags
1562+
run: |
1563+
git fetch --tags origin
1564+
1565+
# - name: Configure pip cache
1566+
# run: |
1567+
# mkdir -p /github/home/.cache/pip
1568+
# chown -R "$(whoami)" /github/home/.cache/pip
1569+
1570+
- name: Install Python
1571+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
1572+
with:
1573+
python-version: |
1574+
pypy3.10
1575+
3.7
1576+
3.8
1577+
3.9
1578+
3.10
1579+
3.11
1580+
3.12
1581+
3.13
1582+
1583+
- name: Install Dependencies
1584+
run: |
1585+
pip install --upgrade pip tox
1586+
env:
1587+
GROUP_NUMBER: ${{ matrix.group-number }}
1588+
1589+
- name: Get Environments
1590+
id: get-envs
1591+
run: |
1592+
echo "envs=$(tox -l | grep '^${{ github.job }}\-' | ./.github/workflows/get-envs.py)" >> "$GITHUB_OUTPUT"
1593+
env:
1594+
GROUP_NUMBER: ${{ matrix.group-number }}
1595+
1596+
- name: Test
1597+
run: |
1598+
tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto
1599+
env:
1600+
TOX_PARALLEL_NO_SPINNER: 1
1601+
PY_COLORS: 0
1602+
1603+
- name: Upload Coverage Artifacts
1604+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2
1605+
with:
1606+
name: coverage-${{ github.job }}-${{ strategy.job-index }}
1607+
path: ./**/.coverage.*
1608+
include-hidden-files: true
1609+
if-no-files-found: error
1610+
retention-days: 1

tox.ini

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ setupdir = {toxinidir}
4444
; Fail tests when interpreters are missing.
4545
skip_missing_interpreters = false
4646
envlist =
47+
# Core Features Tests run on Linux, MacOS, and Windows
48+
{python,windows}-agent_features-{py37,py38,py39,py310,py311,py312,py313}-{with,without}_extensions,
49+
{python,windows}-agent_features-pypy310-without_extensions,
50+
{python,windows}-agent_streaming-{py37,py38,py39,py310,py311,py312,py313}-protobuf06-{with,without}_extensions,
51+
{python,windows}-agent_streaming-py39-protobuf{03,0319,04,05}-{with,without}_extensions,
52+
{python,windows}-agent_unittests-{py37,py38,py39,py310,py311,py312,py313}-{with,without}_extensions,
53+
{python,windows}-agent_unittests-pypy310-without_extensions,
54+
{python,windows}-cross_agent-{py37,py38,py39,py310,py311,py312,py313}-{with,without}_extensions,
55+
# Integration Tests run on Linux
4756
cassandra-datastore_cassandradriver-{py38,py39,py310,py311,py312,pypy310}-cassandralatest,
4857
elasticsearchserver07-datastore_elasticsearch-{py37,py38,py39,py310,py311,py312,py313,pypy310}-elasticsearch07,
4958
elasticsearchserver08-datastore_elasticsearch-{py37,py38,py39,py310,py311,py312,py313,pypy310}-elasticsearch08,
@@ -92,12 +101,6 @@ envlist =
92101
python-adapter_waitress-{py37,py38,py39,py310,py311,py312,py313}-waitresslatest,
93102
python-adapter_waitress-{py37,py38,py39,py310}-waitress02,
94103
python-adapter_waitress-{py37,py38,py39}-waitress010404,
95-
python-agent_features-{py37,py38,py39,py310,py311,py312,py313}-{with,without}_extensions,
96-
python-agent_features-pypy310-without_extensions,
97-
python-agent_streaming-{py37,py38,py39,py310,py311,py312,py313}-protobuf06-{with,without}_extensions,
98-
python-agent_streaming-py39-protobuf{03,0319,04,05}-{with,without}_extensions,
99-
python-agent_unittests-{py37,py38,py39,py310,py311,py312,py313}-{with,without}_extensions,
100-
python-agent_unittests-pypy310-without_extensions,
101104
python-application_celery-{py37,py38,py39,py310,py311,py312,py313,pypy310}-celerylatest,
102105
python-application_celery-py311-celery{0504,0503,0502},
103106
python-component_djangorestframework-{py37,py38,py39,py310,py311,py312,py313}-djangorestframeworklatest,
@@ -108,7 +111,6 @@ envlist =
108111
; python-component_graphqlserver-py313,
109112
python-component_tastypie-{py37,py38,py39,py310,py311,py312,py313,pypy310}-tastypielatest,
110113
python-coroutines_asyncio-{py37,py38,py39,py310,py311,py312,py313,pypy310},
111-
python-cross_agent-{py37,py38,py39,py310,py311,py312,py313}-{with,without}_extensions,
112114
python-datastore_sqlite-{py37,py38,py39,py310,py311,py312,py313,pypy310},
113115
python-external_aiobotocore-{py38,py39,py310,py311,py312,py313}-aiobotocorelatest,
114116
python-external_botocore-{py38,py39,py310,py311,py312,py313}-botocorelatest,
@@ -480,7 +482,7 @@ allowlist_externals =
480482
{toxinidir}/.github/scripts/*
481483

482484
install_command=
483-
{toxinidir}/.github/scripts/retry.sh 3 pip install {opts} {packages}
485+
pip install {opts} {packages}
484486

485487
extras =
486488
agent_streaming: infinite-tracing

0 commit comments

Comments
 (0)