@@ -33,3 +33,51 @@ That can be useful to put things like package installations specific to GitHub A
33
33
Just run the ` build_wheels.py ` script.
34
34
It expects a URL to download the GraalPy release from.
35
35
You can set the environment variable ` PACKAGES_TO_BUILD ` to a comma-separated list of package build scripts you want to consider.
36
+
37
+ You can build wheels locally.
38
+ The way to go about it is to make sure to include the packages you care about in the packages.txt.
39
+
40
+ For Linux/amd64, I use [ act] ( https://github.com/nektos/act/releases ) on a Linux machine:
41
+ ``` shell
42
+ git clone https://github.com/oracle/graalpython
43
+ cd graalpython
44
+ VERSION=24.2.0
45
+ BINDIR=. curl --proto ' =https' --tlsv1.2 -sSf https://raw.githubusercontent.com/nektos/act/master/install.sh | bash
46
+ echo " graalpy_url=https://github.com/oracle/graalpython/releases/download/graal-$VERSION /graalpy-$VERSION -linux-amd64.tar.gz" > .input
47
+ podman system service -t 0 unix:///tmp/podman.sock &
48
+ export DOCKER_HOST=unix:///tmp/podman.sock
49
+ ./act --env http_proxy=$http_proxy --env https_proxy=$https_proxy -W .github/workflows/build-linux-amd64-wheels.yml --artifact-server-path=$( pwd) /artifacts
50
+ ```
51
+
52
+ For Linux/aarch64, I use act on a mac, those are usually beefy ARM machines that a developer has in front of them, if we make sure the podman VM has enough memory.
53
+ ``` shell
54
+ git clone https://github.com/oracle/graalpython
55
+ cd graalpython
56
+ VERSION=24.2.0
57
+ brew install act
58
+ echo " graalpy_url=https://github.com/oracle/graalpython/releases/download/graal-$VERSION /graalpy-$VERSION -linux-aarch64.tar.gz" > .input
59
+ podman machine init -m 16384 --now
60
+ act --env http_proxy=$http_proxy --env https_proxy=$https_proxy -W .github/workflows/build-linux-aarch64-wheels.yml --artifact-server-path=$( pwd) /artifacts --container-architecture linux/aarch64
61
+ ```
62
+
63
+ For macOS/aarch64, you get no isolation from act, so I just run it directly.
64
+ ``` shell
65
+ git clone https://github.com/oracle/graalpython
66
+ VERSION=24.2.0
67
+ export GITHUB_RUN_ID=doesntMatterJustTriggerBrewInstallScripts
68
+ export PIP_GRAALPY_PATCHES_URL=" $( pwd) /graalpython/graalpython/lib-graalpython/patches"
69
+ python3 -m venv wheelbuilder-venv
70
+ . wheelbuilder-venv/bin/activate
71
+ python3 graalpython/scripts/wheelbuilder/build_wheels.py https://github.com/oracle/graalpython/releases/download/graal-$VERSION /graalpy-$VERSION -macos-aarch64.tar.gz
72
+ ```
73
+
74
+ For Windows/amd64, you get no isolation from act, so I just run it directly in Visual Studio powershell.
75
+ ``` shell
76
+ git clone https://github.com/oracle/graalpython
77
+ $VERSION =" 24.2.0"
78
+ $env :GITHUB_RUN_ID=" doesntMatterJustTriggerBrewInstallScripts"
79
+ $env :PIP_GRAALPY_PATCHES_URL=" $PWD /graalpython/graalpython/lib-graalpython/patches"
80
+ python3 -m venv wheelbuilder-venv
81
+ wheelbuilder-venv/scripts/activate
82
+ python3 graalpython/scripts/wheelbuilder/build_wheels.py https://github.com/oracle/graalpython/releases/download/graal-$VERSION /graalpy-$VERSION -windows-amd64.zip
83
+ ```
0 commit comments