@@ -112,8 +112,12 @@ jobs:
112
112
fail_ci_if_error : true
113
113
token : ${{ secrets.CODECOV_TOKEN }}
114
114
115
- # Tests
116
- python :
115
+ # ==============================
116
+ # Integration Test Suite Runners
117
+ # (run in the CI container)
118
+ # ==============================
119
+
120
+ linux :
117
121
env :
118
122
TOTAL_GROUPS : 20
119
123
@@ -1544,6 +1548,190 @@ jobs:
1544
1548
if-no-files-found : error
1545
1549
retention-days : 1
1546
1550
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
+
1547
1735
windows :
1548
1736
env :
1549
1737
TOTAL_GROUPS : 1
@@ -1595,3 +1783,55 @@ jobs:
1595
1783
include-hidden-files : true
1596
1784
if-no-files-found : error
1597
1785
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