|
42 | 42 | runs-on: ubuntu-24.04
|
43 | 43 | if: always() # Always run, even on cancellation or failure
|
44 | 44 | needs:
|
45 |
| - - python |
| 45 | + - linux |
| 46 | + - linux_arm64 |
| 47 | + - macos |
| 48 | + - macos_arm64 |
| 49 | + - windows |
| 50 | + - windows_arm64 |
46 | 51 | - cassandra
|
47 | 52 | - elasticsearchserver07
|
48 | 53 | - elasticsearchserver08
|
|
63 | 68 | - rediscluster
|
64 | 69 | - solr
|
65 | 70 | - valkey
|
66 |
| - - windows |
67 | 71 |
|
68 | 72 | steps:
|
69 | 73 | - name: Status
|
@@ -112,8 +116,12 @@ jobs:
|
112 | 116 | fail_ci_if_error: true
|
113 | 117 | token: ${{ secrets.CODECOV_TOKEN }}
|
114 | 118 |
|
115 |
| - # Tests |
116 |
| - python: |
| 119 | +# ============================== |
| 120 | +# Integration Test Suite Runners |
| 121 | +# (run in the CI container) |
| 122 | +# ============================== |
| 123 | + |
| 124 | + linux: |
117 | 125 | env:
|
118 | 126 | TOTAL_GROUPS: 20
|
119 | 127 |
|
@@ -1544,6 +1552,190 @@ jobs:
|
1544 | 1552 | if-no-files-found: error
|
1545 | 1553 | retention-days: 1
|
1546 | 1554 |
|
| 1555 | +# ============================================= |
| 1556 | +# OS Specific Core Test Suite Runners |
| 1557 | +# (runs directly on the OS, not in a container) |
| 1558 | +# ============================================= |
| 1559 | + |
| 1560 | + linux_arm64: |
| 1561 | + env: |
| 1562 | + TOTAL_GROUPS: 1 |
| 1563 | + |
| 1564 | + strategy: |
| 1565 | + fail-fast: false |
| 1566 | + matrix: |
| 1567 | + group-number: [1] |
| 1568 | + |
| 1569 | + runs-on: ubuntu-24.04-arm |
| 1570 | + timeout-minutes: 30 |
| 1571 | + steps: |
| 1572 | + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 |
| 1573 | + |
| 1574 | + - name: Fetch git tags |
| 1575 | + run: | |
| 1576 | + git fetch --tags origin |
| 1577 | +
|
| 1578 | + - name: Install Python |
| 1579 | + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0 |
| 1580 | + with: |
| 1581 | + python-version: | |
| 1582 | + pypy3.10 |
| 1583 | + 3.7 |
| 1584 | + 3.8 |
| 1585 | + 3.9 |
| 1586 | + 3.10 |
| 1587 | + 3.11 |
| 1588 | + 3.12 |
| 1589 | + 3.13 |
| 1590 | +
|
| 1591 | + - name: Install Dependencies |
| 1592 | + run: | |
| 1593 | + pip install --upgrade tox |
| 1594 | + env: |
| 1595 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1596 | + |
| 1597 | + - name: Get Environments |
| 1598 | + id: get-envs |
| 1599 | + run: | |
| 1600 | + echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT" |
| 1601 | + env: |
| 1602 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1603 | + |
| 1604 | + - name: Test |
| 1605 | + run: | |
| 1606 | + tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto |
| 1607 | + env: |
| 1608 | + TOX_PARALLEL_NO_SPINNER: 1 |
| 1609 | + FORCE_COLOR: "true" |
| 1610 | + |
| 1611 | + - name: Upload Coverage Artifacts |
| 1612 | + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2 |
| 1613 | + with: |
| 1614 | + name: coverage-${{ github.job }}-${{ strategy.job-index }} |
| 1615 | + path: ./**/.coverage.* |
| 1616 | + include-hidden-files: true |
| 1617 | + if-no-files-found: error |
| 1618 | + retention-days: 1 |
| 1619 | + |
| 1620 | + macos: |
| 1621 | + env: |
| 1622 | + TOTAL_GROUPS: 1 |
| 1623 | + |
| 1624 | + strategy: |
| 1625 | + fail-fast: false |
| 1626 | + matrix: |
| 1627 | + group-number: [1] |
| 1628 | + |
| 1629 | + runs-on: macos-13 |
| 1630 | + timeout-minutes: 30 |
| 1631 | + steps: |
| 1632 | + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 |
| 1633 | + |
| 1634 | + - name: Fetch git tags |
| 1635 | + run: | |
| 1636 | + git fetch --tags origin |
| 1637 | +
|
| 1638 | + - name: Install Python |
| 1639 | + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0 |
| 1640 | + with: |
| 1641 | + python-version: | |
| 1642 | + pypy3.10 |
| 1643 | + 3.7 |
| 1644 | + 3.8 |
| 1645 | + 3.9 |
| 1646 | + 3.10 |
| 1647 | + 3.11 |
| 1648 | + 3.12 |
| 1649 | + 3.13 |
| 1650 | +
|
| 1651 | + - name: Install Dependencies |
| 1652 | + run: | |
| 1653 | + pip install --upgrade tox |
| 1654 | + env: |
| 1655 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1656 | + |
| 1657 | + - name: Get Environments |
| 1658 | + id: get-envs |
| 1659 | + run: | |
| 1660 | + echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT" |
| 1661 | + env: |
| 1662 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1663 | + |
| 1664 | + - name: Test |
| 1665 | + run: | |
| 1666 | + tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto |
| 1667 | + env: |
| 1668 | + TOX_PARALLEL_NO_SPINNER: 1 |
| 1669 | + FORCE_COLOR: "true" |
| 1670 | + |
| 1671 | + - name: Upload Coverage Artifacts |
| 1672 | + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2 |
| 1673 | + with: |
| 1674 | + name: coverage-${{ github.job }}-${{ strategy.job-index }} |
| 1675 | + path: ./**/.coverage.* |
| 1676 | + include-hidden-files: true |
| 1677 | + if-no-files-found: error |
| 1678 | + retention-days: 1 |
| 1679 | + |
| 1680 | + macos_arm64: |
| 1681 | + env: |
| 1682 | + TOTAL_GROUPS: 1 |
| 1683 | + |
| 1684 | + strategy: |
| 1685 | + fail-fast: false |
| 1686 | + matrix: |
| 1687 | + group-number: [1] |
| 1688 | + |
| 1689 | + runs-on: macos-15 |
| 1690 | + timeout-minutes: 30 |
| 1691 | + steps: |
| 1692 | + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 |
| 1693 | + |
| 1694 | + - name: Fetch git tags |
| 1695 | + run: | |
| 1696 | + git fetch --tags origin |
| 1697 | +
|
| 1698 | + - name: Install Python |
| 1699 | + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0 |
| 1700 | + with: |
| 1701 | + python-version: | |
| 1702 | + pypy3.10 |
| 1703 | + 3.8 |
| 1704 | + 3.9 |
| 1705 | + 3.10 |
| 1706 | + 3.11 |
| 1707 | + 3.12 |
| 1708 | + 3.13 |
| 1709 | +
|
| 1710 | + - name: Install Dependencies |
| 1711 | + run: | |
| 1712 | + pip install --upgrade tox |
| 1713 | + env: |
| 1714 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1715 | + |
| 1716 | + - name: Get Environments |
| 1717 | + id: get-envs |
| 1718 | + run: | |
| 1719 | + echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT" |
| 1720 | + env: |
| 1721 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1722 | + |
| 1723 | + - name: Test |
| 1724 | + run: | |
| 1725 | + tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto |
| 1726 | + env: |
| 1727 | + TOX_PARALLEL_NO_SPINNER: 1 |
| 1728 | + FORCE_COLOR: "true" |
| 1729 | + |
| 1730 | + - name: Upload Coverage Artifacts |
| 1731 | + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2 |
| 1732 | + with: |
| 1733 | + name: coverage-${{ github.job }}-${{ strategy.job-index }} |
| 1734 | + path: ./**/.coverage.* |
| 1735 | + include-hidden-files: true |
| 1736 | + if-no-files-found: error |
| 1737 | + retention-days: 1 |
| 1738 | + |
1547 | 1739 | windows:
|
1548 | 1740 | env:
|
1549 | 1741 | TOTAL_GROUPS: 1
|
@@ -1595,3 +1787,55 @@ jobs:
|
1595 | 1787 | include-hidden-files: true
|
1596 | 1788 | if-no-files-found: error
|
1597 | 1789 | retention-days: 1
|
| 1790 | + |
| 1791 | + windows_arm64: |
| 1792 | + env: |
| 1793 | + TOTAL_GROUPS: 1 |
| 1794 | + |
| 1795 | + strategy: |
| 1796 | + fail-fast: false |
| 1797 | + matrix: |
| 1798 | + group-number: [1] |
| 1799 | + |
| 1800 | + runs-on: windows-11-arm |
| 1801 | + timeout-minutes: 30 |
| 1802 | + steps: |
| 1803 | + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 4.2.2 |
| 1804 | + |
| 1805 | + - name: Fetch git tags |
| 1806 | + run: | |
| 1807 | + git fetch --tags origin |
| 1808 | +
|
| 1809 | + - name: Install Python |
| 1810 | + uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 5.6.0 |
| 1811 | + with: |
| 1812 | + python-version: "3.13" |
| 1813 | + |
| 1814 | + - name: Install Dependencies |
| 1815 | + run: | |
| 1816 | + pip install --upgrade tox |
| 1817 | + env: |
| 1818 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1819 | + |
| 1820 | + - name: Get Environments |
| 1821 | + id: get-envs |
| 1822 | + run: | |
| 1823 | + echo "envs=$(tox -l | python ./.github/scripts/get-envs.py)" >> "$GITHUB_OUTPUT" |
| 1824 | + env: |
| 1825 | + GROUP_NUMBER: ${{ matrix.group-number }} |
| 1826 | + |
| 1827 | + - name: Test |
| 1828 | + run: | |
| 1829 | + tox -vv -e ${{ steps.get-envs.outputs.envs }} -p auto |
| 1830 | + env: |
| 1831 | + TOX_PARALLEL_NO_SPINNER: 1 |
| 1832 | + FORCE_COLOR: "true" |
| 1833 | + |
| 1834 | + - name: Upload Coverage Artifacts |
| 1835 | + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # 4.6.2 |
| 1836 | + with: |
| 1837 | + name: coverage-${{ github.job }}-${{ strategy.job-index }} |
| 1838 | + path: ./**/.coverage.* |
| 1839 | + include-hidden-files: true |
| 1840 | + if-no-files-found: error |
| 1841 | + retention-days: 1 |
0 commit comments