Skip to content

Commit 281960c

Browse files
committed
Add tests for all OS and arch combinations
1 parent 33d598a commit 281960c

File tree

2 files changed

+364
-109
lines changed

2 files changed

+364
-109
lines changed

.github/workflows/tests.yml

Lines changed: 242 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,12 @@ jobs:
112112
fail_ci_if_error: true
113113
token: ${{ secrets.CODECOV_TOKEN }}
114114

115-
# Tests
116-
python:
115+
# ==============================
116+
# Integration Test Suite Runners
117+
# (run in the CI container)
118+
# ==============================
119+
120+
linux:
117121
env:
118122
TOTAL_GROUPS: 20
119123

@@ -1544,6 +1548,190 @@ jobs:
15441548
if-no-files-found: error
15451549
retention-days: 1
15461550

1551+
# =============================================
1552+
# OS Specific Core Test Suite Runners
1553+
# (runs directly on the OS, not in a container)
1554+
# =============================================
1555+
1556+
linux_arm64:
1557+
env:
1558+
TOTAL_GROUPS: 1
1559+
1560+
strategy:
1561+
fail-fast: false
1562+
matrix:
1563+
group-number: [1]
1564+
1565+
runs-on: ubuntu-24.04-arm
1566+
timeout-minutes: 30
1567+
steps:
1568+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1569+
1570+
- name: Fetch git tags
1571+
run: |
1572+
git fetch --tags origin
1573+
1574+
- name: Install Python
1575+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
1576+
with:
1577+
python-version: |
1578+
pypy3.10
1579+
3.7
1580+
3.8
1581+
3.9
1582+
3.10
1583+
3.11
1584+
3.12
1585+
3.13
1586+
1587+
- name: Install Dependencies
1588+
run: |
1589+
pip install --upgrade tox
1590+
env:
1591+
GROUP_NUMBER: ${{ matrix.group-number }}
1592+
1593+
- name: Get Environments
1594+
id: get-envs
1595+
run: |
1596+
echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT"
1597+
env:
1598+
GROUP_NUMBER: ${{ matrix.group-number }}
1599+
1600+
- name: Test
1601+
run: |
1602+
tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto
1603+
env:
1604+
TOX_PARALLEL_NO_SPINNER: 1
1605+
FORCE_COLOR: "true"
1606+
1607+
- name: Upload Coverage Artifacts
1608+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2
1609+
with:
1610+
name: coverage-${{ github.job }}-${{ strategy.job-index }}
1611+
path: ./**/.coverage.*
1612+
include-hidden-files: true
1613+
if-no-files-found: error
1614+
retention-days: 1
1615+
1616+
macos:
1617+
env:
1618+
TOTAL_GROUPS: 1
1619+
1620+
strategy:
1621+
fail-fast: false
1622+
matrix:
1623+
group-number: [1]
1624+
1625+
runs-on: macos-13
1626+
timeout-minutes: 30
1627+
steps:
1628+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1629+
1630+
- name: Fetch git tags
1631+
run: |
1632+
git fetch --tags origin
1633+
1634+
- name: Install Python
1635+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
1636+
with:
1637+
python-version: |
1638+
pypy3.10
1639+
3.7
1640+
3.8
1641+
3.9
1642+
3.10
1643+
3.11
1644+
3.12
1645+
3.13
1646+
1647+
- name: Install Dependencies
1648+
run: |
1649+
pip install --upgrade tox
1650+
env:
1651+
GROUP_NUMBER: ${{ matrix.group-number }}
1652+
1653+
- name: Get Environments
1654+
id: get-envs
1655+
run: |
1656+
echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT"
1657+
env:
1658+
GROUP_NUMBER: ${{ matrix.group-number }}
1659+
1660+
- name: Test
1661+
run: |
1662+
tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto
1663+
env:
1664+
TOX_PARALLEL_NO_SPINNER: 1
1665+
FORCE_COLOR: "true"
1666+
1667+
- name: Upload Coverage Artifacts
1668+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2
1669+
with:
1670+
name: coverage-${{ github.job }}-${{ strategy.job-index }}
1671+
path: ./**/.coverage.*
1672+
include-hidden-files: true
1673+
if-no-files-found: error
1674+
retention-days: 1
1675+
1676+
macos_arm64:
1677+
env:
1678+
TOTAL_GROUPS: 1
1679+
1680+
strategy:
1681+
fail-fast: false
1682+
matrix:
1683+
group-number: [1]
1684+
1685+
runs-on: macos-15
1686+
timeout-minutes: 30
1687+
steps:
1688+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1689+
1690+
- name: Fetch git tags
1691+
run: |
1692+
git fetch --tags origin
1693+
1694+
- name: Install Python
1695+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
1696+
with:
1697+
python-version: |
1698+
pypy3.10
1699+
3.8
1700+
3.9
1701+
3.10
1702+
3.11
1703+
3.12
1704+
3.13
1705+
1706+
- name: Install Dependencies
1707+
run: |
1708+
pip install --upgrade tox
1709+
env:
1710+
GROUP_NUMBER: ${{ matrix.group-number }}
1711+
1712+
- name: Get Environments
1713+
id: get-envs
1714+
run: |
1715+
echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT"
1716+
env:
1717+
GROUP_NUMBER: ${{ matrix.group-number }}
1718+
1719+
- name: Test
1720+
run: |
1721+
tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto
1722+
env:
1723+
TOX_PARALLEL_NO_SPINNER: 1
1724+
FORCE_COLOR: "true"
1725+
1726+
- name: Upload Coverage Artifacts
1727+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2
1728+
with:
1729+
name: coverage-${{ github.job }}-${{ strategy.job-index }}
1730+
path: ./**/.coverage.*
1731+
include-hidden-files: true
1732+
if-no-files-found: error
1733+
retention-days: 1
1734+
15471735
windows:
15481736
env:
15491737
TOTAL_GROUPS: 1
@@ -1595,3 +1783,55 @@ jobs:
15951783
include-hidden-files: true
15961784
if-no-files-found: error
15971785
retention-days: 1
1786+
1787+
windows_arm64:
1788+
env:
1789+
TOTAL_GROUPS: 1
1790+
1791+
strategy:
1792+
fail-fast: false
1793+
matrix:
1794+
group-number: [1]
1795+
1796+
runs-on: windows-11-arm
1797+
timeout-minutes: 30
1798+
steps:
1799+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2
1800+
1801+
- name: Fetch git tags
1802+
run: |
1803+
git fetch --tags origin
1804+
1805+
- name: Install Python
1806+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0
1807+
with:
1808+
python-version: "3.13"
1809+
1810+
- name: Install Dependencies
1811+
run: |
1812+
pip install --upgrade tox
1813+
env:
1814+
GROUP_NUMBER: ${{ matrix.group-number }}
1815+
1816+
- name: Get Environments
1817+
id: get-envs
1818+
run: |
1819+
echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT"
1820+
env:
1821+
GROUP_NUMBER: ${{ matrix.group-number }}
1822+
1823+
- name: Test
1824+
run: |
1825+
tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto
1826+
env:
1827+
TOX_PARALLEL_NO_SPINNER: 1
1828+
FORCE_COLOR: "true"
1829+
1830+
- name: Upload Coverage Artifacts
1831+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2
1832+
with:
1833+
name: coverage-${{ github.job }}-${{ strategy.job-index }}
1834+
path: ./**/.coverage.*
1835+
include-hidden-files: true
1836+
if-no-files-found: error
1837+
retention-days: 1

0 commit comments

Comments
 (0)