@@ -47,69 +47,62 @@ jobs:
4747
4848 - name : Download Python 3.11.8 source
4949 run : |
50+ echo "Downloading Python 3.11.8 source to $(pwd)"
5051 wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz
5152 tar -xf Python-3.11.8.tgz
5253
5354 - name : Configure and build Python 3.11.8 (32-bit)
5455 run : |
55- mkdir -p $HOME/.millennium/ext/data/cache
56+ mkdir -p /tmp/python-build
5657 cd Python-3.11.8
57- sudo CFLAGS="-m32" LDFLAGS="-m32" ./configure --prefix=$HOME/.millennium/ext/data/cache --enable-optimizations
58+ sudo CFLAGS="-m32" LDFLAGS="-m32" ./configure --prefix=/tmp/python-build --enable-optimizations
5859 sudo make -j$(nproc)
5960 sudo make altinstall
6061
6162 - name : Setup installation
6263 run : |
63- sudo mkdir -p $HOME/.millennium/ext/data/cache/lib/tmp
64- cd $HOME/.millennium/ext/data/cache/lib/tmp
64+
65+ sudo mkdir -p /tmp/python-build/lib/tmp
66+ cd /tmp/python-build/lib/tmp
6567 sudo ar -x ../libpython3.11.a
6668 sudo gcc -m32 -shared -o ../libpython-3.11.8.so *.o
6769
68- cd $HOME/.millennium/ext/data/cache /lib
70+ cd /tmp/python-build /lib
6971 sudo rm -rf tmp
7072 ls
7173
72- sudo mkdir -p $HOME/Documents/LibPython/
73- cd $HOME/.millennium/ext/data/cache/include/python3.11/
74- sudo mv * $HOME/Documents/LibPython/
75-
76- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/test/
77- # sudo rm -rf $HOME/.millennium/ext/data/cache/share
78- # sudo rm -rf $HOME/.millennium/ext/data/cache/include
79- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/__pycache__/
80- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/config-3.11-x86_64-linux-gnu/
81- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/tkinter/
82- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/ensurepip/
83- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/idlelib/
84- sudo rm -rf $HOME/.millennium/ext/data/cache/lib/python3.11/turtledemo/
85-
86- sudo rm $HOME/.millennium/ext/data/cache/lib/libpython3.11.a
87-
88- sudo mkdir -p $HOME/.millennium/lib
89-
90- sudo strip $HOME/.millennium/ext/data/cache/bin/python3.11
91- sudo strip $HOME/.millennium/ext/data/cache/lib/libpython-3.11.8.so
92-
93- sudo rm $HOME/.millennium/ext/data/cache/bin/python3.11-config
94- sudo rm $HOME/.millennium/ext/data/cache/bin/idle3.11
95- sudo rm $HOME/.millennium/ext/data/cache/bin/pydoc3.11
96- sudo rm $HOME/.millennium/ext/data/cache/bin/pip3.11
97- sudo rm $HOME/.millennium/ext/data/cache/bin/2to3-3.11
98-
99- sudo mv $HOME/.millennium/ext/data/cache/bin/python3.11 $HOME/.millennium/ext/data/cache/bin/python3.11
100-
101- sudo mv $HOME/.millennium/ext/data/cache/* $HOME/.millennium/
102- sudo rm -rd $HOME/.millennium/ext
103-
104- cd $HOME/
105- tar -czf python-3.11.8-32-bit.tar.gz -C "$HOME/.millennium" .
74+ # Remove unimportant files that take up lots of space
75+ sudo rm -rf /tmp/python-build/lib/python3.11/test/
76+ sudo rm -rf /tmp/python-build/lib/python3.11/__pycache__/
77+ sudo rm -rf /tmp/python-build/lib/python3.11/config-3.11-x86_64-linux-gnu/
78+ sudo rm -rf /tmp/python-build/lib/python3.11/tkinter/
79+ sudo rm -rf /tmp/python-build/lib/python3.11/ensurepip/
80+ sudo rm -rf /tmp/python-build/lib/python3.11/idlelib/
81+ sudo rm -rf /tmp/python-build/lib/python3.11/turtledemo/
82+
83+ # Remove the static library as we've built a shared library
84+ sudo rm /tmp/python-build/lib/libpython3.11.a
85+
86+ # Strip the build binaries to reduce size
87+ sudo strip /tmp/python-build/bin/python3.11
88+ sudo strip /tmp/python-build/lib/libpython-3.11.8.so
89+
90+ # Remove extra bin files that are not needed
91+ sudo rm /tmp/python-build/bin/python3.11-config
92+ sudo rm /tmp/python-build/bin/idle3.11
93+ sudo rm /tmp/python-build/bin/pydoc3.11
94+ sudo rm /tmp/python-build/bin/pip3.11
95+ sudo rm /tmp/python-build/bin/2to3-3.11
96+
97+ # Archive the Python 3.11.8 (32-bit) build
98+ tar -czf python-3.11.8-32-bit.tar.gz -C "/tmp/python-build" .
10699
107100 - name : Upload Python 3.11.8 (32-bit) artifact
108101 uses : actions/upload-artifact@v4
109102 with :
110103 include-hidden-files : true
111104 name : python-3.11.8-32-bit
112- path : /home/runner/.millennium/
105+ path : /tmp/python-build
113106
114107 - name : Set up Node.js
115108 uses : actions/setup-node@v3
0 commit comments