Updated yml #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build wxPython Wheel | ||
| on: | ||
| workflow_dispatch: | ||
| jobs: | ||
| build_wxpython_wheel: | ||
| strategy: | ||
| matrix: | ||
| os: [centos-8.5] | ||
| py_vers: [3.12.10] | ||
| include: | ||
| - job-name: centos-make-release-static | ||
| os: centos-8.5 | ||
| name: build-${{ matrix.job-name }}-${{ matrix.py_vers}} | ||
| runs-on: ${{ matrix.os }} | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| - name: Load env variables from root repo | ||
| shell: bash | ||
| run: | | ||
| cat env/build-${{ github.ref_name }}.env >> $GITHUB_ENV | ||
| - name: Install build dependencies | ||
| run: | | ||
| sudo dnf groupinstall "Development Tools" -y | ||
| sudo dnf install -y gtk3-devel libnotify-devel \ | ||
| libpng-devel libjpeg-turbo-devel gstreamer1-devel \ | ||
| gstreamer1-plugins-base-devel libtiff-devel SDL-devel \ | ||
| mesa-libGL-devel freeglut-devel libSM-devel libXt-devel libX11-devel \ | ||
| libXrandr-devel libXinerama-devel libXi-devel \ | ||
| cairo-devel pango-devel gdk-pixbuf2-devel epel-release | ||
| - name: Download and install SDL2 | ||
| shell: bash | ||
| run: | | ||
| wget https://github.com/libsdl-org/SDL/releases/download/release-${{ env.SDL_VERSION }}/SDL2-${{ env.SDL_VERSION }}.tar.gz | ||
| tar -xzf SDL2-${{ env.SDL_VERSION }}.tar.gz | ||
| cd SDL2-${{ env.SDL_VERSION }} | ||
| ./configure --prefix=/usr | ||
| make | ||
| sudo make install | ||
| cd .. | ||
| rm -rf SDL2-${{ env.SDL_VERSION }} SDL2-${{ env.SDL_VERSION }}.tar.gz | ||
| - name: Build Python | ||
| shell: bash | ||
| run: | | ||
| echo "PY_MAJOR_VERSION=${{ matrix.py_vers.split('.')[0] }}" >> $GITHUB_ENV | ||
| echo "PY_MINOR_VERSION=${{ matrix.py_vers.split('.')[1] }}" >> $GITHUB_ENV | ||
| wget https://www.python.org/ftp/python/${{ matrix.py_vers}}/Python-${{ matrix.py_vers}}.tgz | ||
| tar -zxvf Python-${{ matrix.py_vers}}.tgz | ||
| cd Python-${{ matrix.py_vers}} | ||
| ./configure --prefix=${{ github.workspace }}/python | ||
| make && make install | ||
| cd .. | ||
| echo "Python_ROOT_DIR=${{ github.workspace }}/python" >> $GITHUB_ENV | ||
| - name: Upgrade pip | ||
| run: | | ||
| ${{ env.Python_ROOT_DIR }}/bin/python${{ env.PY_MAJOR_VERSION }}.${{ env.PY_MINOR_VERSION }} -m pip install --upgrade pip | ||
| - name: Activate virtual environment and build wxPython wheel | ||
| run: | | ||
| export LD_LIBRARY_PATH=${{ env.Python_ROOT_DIR }}/lib:$LD_LIBRARY_PATH | ||
| export PATH=${{ env.Python_ROOT_DIR }}/bin:$PATH | ||
| ${{ env.Python_ROOT_DIR }}/bin/python${{ env.PY_MAJOR_VERSION }}.${{ env.PY_MINOR_VERSION }} -m venv .venv | ||
| source .venv/bin/activate | ||
| pip install -U six setuptools wheel | ||
| pip download wxPython | ||
| pip wheel -v wxPython-${{ env.WX_PYTHON_VERSION }}.tar.gz 2>&1 | tee build.log | ||
| rm -rf wxPython-${{ env.WX_PYTHON_VERSION }}.tar.gz | ||
| - name: Test wxPython wheel | ||
| run: | | ||
| source .venv/bin/activate | ||
| pip install wxpython-${{ env.WX_PYTHON_VERSION }}-cp${{ env.PY_MAJOR_VERSION }}${{ env.PY_MINOR_VERSION }}-cp${{ env.PY_MAJOR_VERSION }}${{ env.PY_MINOR_VERSION }}-linux_x86_64.whl | ||
| python -c "import wx; a=wx.App(); wx.Frame(None,title='hello world').Show(); a.MainLoop();" | ||
| - name: Create a release and upload asset | ||
| uses: svenstaro/upload-release-action@v2 | ||
| with: | ||
| repo_token: ${{ secrets.GH_PAT_TOKEN }} | ||
| tag: "wxPython-${{ env.WX_PYTHON_VERSION }}" | ||
| release_name: "wxPython-${{ env.WX_PYTHON_VERSION }} wheels" | ||
| overwrite: true | ||
| body: "wxPython-${{ env.WX_PYTHON_VERSION }} wheel packages for gtk3 and different python versions" | ||
| file: wwxpython-${{ env.WX_PYTHON_VERSION }}-cp${{ env.PY_MAJOR_VERSION }}${{ env.PY_MINOR_VERSION }}-cp${{ env.PY_MAJOR_VERSION }}${{ env.PY_MINOR_VERSION }}-linux_x86_64.whl | ||