Skip to content

Commit 5e47038

Browse files
committed
Create ci.yml
1 parent 5b301a0 commit 5e47038

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed

.github/workflows/ci.yml

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: Python 3.11.8 32-bit Builder
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
9+
strategy:
10+
matrix:
11+
python-version: [3.11.8]
12+
13+
steps:
14+
- name: Checkout repository
15+
uses: actions/checkout@v4
16+
17+
- name: Install dependencies
18+
run: |
19+
sudo dpkg --add-architecture i386
20+
sudo apt-get update
21+
sudo apt-get install -y \
22+
build-essential \
23+
zlib1g-dev:i386 \
24+
libncurses5-dev:i386 \
25+
libgdbm-dev:i386 \
26+
libnss3-dev:i386 \
27+
libssl-dev:i386 \
28+
libreadline-dev:i386 \
29+
libffi-dev:i386 \
30+
wget \
31+
curl \
32+
libbz2-dev:i386 \
33+
libsqlite3-dev:i386 \
34+
liblzma-dev:i386 \
35+
gcc-multilib \
36+
g++-multilib \
37+
libexpat1-dev:i386 \
38+
libuuid1:i386 \
39+
libmpdec-dev:i386
40+
41+
- name: Set up cache for Python source
42+
uses: actions/cache@v3
43+
id: build-cache
44+
with:
45+
path: /home/runner/.millennium/ext/data/cache
46+
key: ${{ runner.os }}-python-linux-3.11.8-build
47+
restore-keys: ${{ runner.os }}-python-linux-3.11.8-build-
48+
49+
- name: Download Python 3.11.8 source
50+
if: steps.build-cache.outputs.cache-hit != true
51+
run: |
52+
wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz
53+
tar -xf Python-3.11.8.tgz
54+
55+
- name: Configure and build Python 3.11.8 (32-bit)
56+
if: steps.build-cache.outputs.cache-hit != true
57+
run: |
58+
mkdir -p $HOME/build
59+
cd Python-3.11.8
60+
sudo CFLAGS="-m32" LDFLAGS="-m32" ./configure --prefix=$HOME/build --enable-optimizations
61+
sudo make -j$(nproc)
62+
63+
- name: Verify Python Installation
64+
run: |
65+
$HOME/build/bin/python3.11 --version
66+
67+
- name: Setup installation
68+
run: |
69+
sudo mkdir -p $HOME/build/lib/tmp
70+
cd $HOME/build/lib/tmp
71+
sudo ar -x ../libpython3.11.a
72+
sudo gcc -m32 -shared -o ../libpython-3.11.8.so *.o
73+
74+
cd ..
75+
sudo rm -rf $HOME/build/lib/tmp
76+
ls
77+
78+
sudo rm -rf $HOME/build/lib/python3.11/test/
79+
sudo rm -rf $HOME/build/share
80+
sudo rm -rf $HOME/build/include
81+
sudo rm -rf $HOME/build/lib/python3.11/__pycache__/
82+
sudo rm -rf $HOME/build/lib/python3.11/config-3.11-x86_64-linux-gnu/
83+
sudo rm $HOME/build/lib/libpython3.11.a
84+
85+
$HOME/build/bin/python3.11 --version
86+
87+
- name: Upload Python 3.11.8 (32-bit) artifact
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: python-3.11.8-32-bit
91+
path: $HOME/build

0 commit comments

Comments
 (0)