diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ff855d76..606f2cca 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -4,33 +4,50 @@ on: [push, pull_request] jobs: - build-linux-cp39: - runs-on: ubuntu-latest - container: quay.io/pypa/manylinux2014_x86_64 - - steps: - - uses: actions/checkout@v4.1.7 - - - name: Install rust toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - override: true - - - name: Install Python package dependencies - run: /opt/python/cp39-cp39/bin/python -m pip install --upgrade cython wheel numpy setuptools_rust - - - name: Build binary wheel - run: /opt/python/cp39-cp39/bin/python setup.py bdist_wheel - - - name: Apply auditwheel for manylinux wheel - run: auditwheel repair -w dist dist/* - - - name: Remove linux wheel - run: rm dist/*-linux_x86_64.whl - - - name: Archive dist artifacts - uses: actions/upload-artifact@v1 - with: - name: dist-linux-3.9 - path: dist \ No newline at end of file + build-linux: + regression_matrix: + strategy: + max-parallel: 4 + fail-fast: false + matrix: + python-version: ['3.10', '3.11', '3.12'] + os: [ubuntu-latest] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4.1.7 + + - name: Install rust toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + + - name: Set up Python ${{ matrix.python-version }} x64 + if: matrix.os == 'ubuntu-latest' + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + architecture: x64 + + - name: Install Requirements + run: | + python -m pip install --upgrade pip + python -m pip install --upgrade numpy cython wheel numpy setuptools_rust + python -m pip install --upgrade -r $GITHUB_WORKSPACE/requirements.txt + python -m pip install --upgrade -r $GITHUB_WORKSPACE/tests/requirements.txt + + - name: Build binary wheel + run: python setup.py bdist_wheel + + - name: Apply auditwheel for manylinux wheel + run: auditwheel repair -w dist dist/* + + - name: Remove linux wheel + run: rm dist/*-linux_x86_64.whl + + - name: Archive dist artifacts + uses: actions/upload-artifact@v1 + with: + name: dist-linux-${{ matrix.python-version }} + path: dist \ No newline at end of file