Skip to content

Commit 8f56ede

Browse files
committed
CI: Cross-compile 32-bit Linux Python
Debian does build 32bit and there was a recent regression
1 parent 563e29d commit 8f56ede

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

.github/workflows/test.yml

+46
Original file line numberDiff line numberDiff line change
@@ -155,3 +155,49 @@ jobs:
155155
continue-on-error: true
156156
- name: Mark as a success
157157
run: exit 0
158+
159+
python_32bits:
160+
runs-on: ubuntu-latest
161+
name: Test mypyc suite with 32-bit Python
162+
env:
163+
TOX_SKIP_MISSING_INTERPRETERS: False
164+
# Rich (pip)
165+
FORCE_COLOR: 1
166+
# Tox
167+
PY_COLORS: 1
168+
# Mypy (see https://github.com/python/mypy/issues/7771)
169+
TERM: xterm-color
170+
MYPY_FORCE_COLOR: 1
171+
MYPY_FORCE_TERMINAL_WIDTH: 200
172+
# Pytest
173+
PYTEST_ADDOPTS: --color=yes
174+
CXX: i686-linux-gnu-g++
175+
CC: i686-linux-gnu-gcc
176+
steps:
177+
- uses: actions/checkout@v3
178+
- name: Install 32-bit build dependencies
179+
run: |
180+
sudo dpkg --add-architecture i386 && \
181+
sudo apt-get update && sudo apt-get install -y \
182+
zlib1g-dev:i386 \
183+
g++-i686-linux-gnu \
184+
gcc-i686-linux-gnu \
185+
libffi-dev:i386 \
186+
libssl-dev:i386 \
187+
libbz2-dev:i386 \
188+
libncurses-dev:i386 \
189+
libreadline-dev:i386 \
190+
libsqlite3-dev:i386 \
191+
liblzma-dev:i386 \
192+
uuid-dev:i386
193+
- name: Compile, install, and activate 32-bit Python
194+
uses: gabrielfalcao/pyenv-action@v13
195+
with:
196+
default: 3.11.1
197+
command: python -c "import platform; print(f'{platform.architecture()=} {platform.machine()=}');"
198+
- name: Install tox
199+
run: pip install --upgrade 'setuptools!=50' tox==4.4.4
200+
- name: Setup tox environment
201+
run: tox run -e py --notest
202+
- name: Test
203+
run: tox run -e py --skip-pkg-install -- -n 2 mypyc/test/

0 commit comments

Comments
 (0)